diff --git a/assets/build/micro-rdk/ultrasonic/ultrasonic-sensor-ui-config.png b/assets/build/micro-rdk/ultrasonic/ultrasonic-sensor-ui-config.png new file mode 100644 index 0000000000..ff7431f559 Binary files /dev/null and b/assets/build/micro-rdk/ultrasonic/ultrasonic-sensor-ui-config.png differ diff --git a/docs/build/micro-rdk/sensor/_index.md b/docs/build/micro-rdk/sensor/_index.md new file mode 100644 index 0000000000..6865d3a97f --- /dev/null +++ b/docs/build/micro-rdk/sensor/_index.md @@ -0,0 +1,31 @@ +--- +title: "Micro-RDK Sensor Models" +linkTitle: "Sensor" +weight: 30 +type: "docs" +description: "Support in the micro-RDK for sensors, devices that measure information about the outside world." +images: ["/icons/components/sensor.svg"] +tags: ["sensor", "components", "micro-rdk"] +no_list: true +# SMEs: Andrew Morrow +--- + +A sensor is a device that can measure information about the outside world. +For more information and models supported by the {{< glossary_tooltip term_id="rdk" text="RDK" >}}, see [Sensor Component](/components/sensor/). + +## Supported models + +For configuration information, click a supported sensor model name: + + +| Model |Description | +| ----- | ---------- | +| [`ultrasonic`](ultrasonic/) | [HC-SR04](https://www.sparkfun.com/products/15569) ultrasonic sensors | + +{{% readfile "/static/include/micro-create-your-own.md" %}} + +## API + +The micro-RDK [sensor API](/components/sensor/#api) supports only the following client SDK API methods, which operate the same as in the full-featured RDK: + +- [`GetReadings()`](/components/sensor/#getreadings) diff --git a/docs/build/micro-rdk/sensor/ultrasonic.md b/docs/build/micro-rdk/sensor/ultrasonic.md new file mode 100644 index 0000000000..dc09d1ce02 --- /dev/null +++ b/docs/build/micro-rdk/sensor/ultrasonic.md @@ -0,0 +1,105 @@ +--- +title: "Configure an Ultrasonic Sensor (Micro-RDK)" +linkTitle: "ultrasonic" +weight: 60 +type: "docs" +description: "Configure an ultrasonic sensor." +tags: ["sensor", "components", "ultrasonic"] +icon: true +images: ["/icons/components/sensor.svg"] +# SME: Andrew Morrow +--- + +Configure an `ultrasonic` sensor to integrate the [HC-S204](https://www.sparkfun.com/products/15569) ultrasonic distance sensor into your machine: + +{{< tabs >}} +{{% tab name="Config Builder" %}} + +Navigate to the **Config** tab of your machine's page in [the Viam app](https://app.viam.com). +Click on the **Components** subtab and click **Create component**. +Select the `sensor` type, then select the `ultrasonic` model. +Enter a name for your sensor and click **Create**. + +![Creation of a ultrasonic sensor in the Viam app config builder.](/build/micro-rdk/ultrasonic/ultrasonic-sensor-ui-config.png) + +Copy and paste the following attribute template into your sensor's **Attributes** box. +Then remove and fill in the attributes as applicable to your sensor, according to the table below. + +{{< tabs >}} +{{% tab name="Attributes template" %}} + +```json {class="line-numbers linkable-line-numbers"} +{ + "trigger_pin": "", + "echo_interrupt_pin": "" +} +``` + +{{% /tab %}} +{{% tab name="Attributes example" %}} + +```json {class="line-numbers linkable-line-numbers"} +{ + "trigger_pin": "15", + "echo_interrupt_pin": "18" +} +``` + +{{% /tab %}} +{{< /tabs >}} + +{{% /tab %}} +{{% tab name="JSON Template" %}} + +```json {class="line-numbers linkable-line-numbers"} +{ + "components": [ + { + "name": "", + "model": "ultrasonic", + "type": "sensor", + "namespace": "rdk", + "attributes": { + "trigger_pin": "", + "echo_interrupt_pin": "" + }, + "depends_on": [] + } + ] +} +``` + +{{% /tab %}} +{{% tab name="JSON Example" %}} + +```json {class="line-numbers linkable-line-numbers"} +{ + "components": [ + { + "name": "my-ultrasonic-sensor", + "model": "ultrasonic", + "type": "sensor", + "namespace": "rdk", + "attributes": { + "trigger_pin": "15", + "echo_interrupt_pin": "18" + }, + "depends_on": [] + } + ] +} +``` + +{{% /tab %}} +{{% /tabs %}} + +The following attributes are available for `ultrasonic` sensors: + + +| Attribute | Type | Inclusion | Description | +| --------- | ---- | --------- | ----------- | +| `trigger_pin` | string | **Required** | The GPIO number of the [board's](/build/micro-rdk/board/) GPIO pin that you have wired to the trigger pin of your ultrasonic sensor. | +| `echo_interrupt_pin` | string | **Required** | The GPIO number of the board's GPIO pin that you have wired to the echo pin of your ultrasonic sensor. Please note that unlike the RDK ultrasonic sensor, you must not use a named pin associated with a digital interrupt configured on your board: it will not (currently) work. | +| `timeout_ms` | int | Optional | Time to wait in milliseconds before initiating a timeout when requesting readings from your ultrasonic sensor.
Default: `50`
Max: `100` | + +{{< readfile "/static/include/components/test-control/sensor-control.md" >}} diff --git a/static/include/micro-rdk.md b/static/include/micro-rdk.md index f278744a88..c5dd934bd3 100644 --- a/static/include/micro-rdk.md +++ b/static/include/micro-rdk.md @@ -8,13 +8,14 @@ The micro-RDK is a lightweight version of the {{% glossary_tooltip term_id="rdk" The only microcontroller the micro-RDK currently supports is the [ESP32](https://www.espressif.com/en/products/socs/esp32). -[Client API](/build/program/apis/) usage with the micro-RDK currently supports only the following {{< glossary_tooltip term_id="resource" text="resources" >}}: +[Client API](/build/program/apis/) usage with the micro-RDK currently supports the following {{< glossary_tooltip term_id="resource" text="resources" >}}: - [Base](/build/micro-rdk/base/) - [Board](/build/micro-rdk/board/) - [Encoder](/build/micro-rdk/encoder/) - [Movement Sensor](/build/micro-rdk/movement-sensor/) - [Motor](/build/micro-rdk/motor/) +- [Sensor](/build/micro-rdk/sensor/) - [Servo](/build/micro-rdk/servo/) - [Generic](/build/micro-rdk/generic/)