Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOCS-1637: Make ultrasonic sensor page in micro-RDK #2614

Merged
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
31 changes: 31 additions & 0 deletions docs/build/micro-rdk/sensor/_index.md
Original file line number Diff line number Diff line change
@@ -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:

<!-- prettier-ignore -->
| 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)
105 changes: 105 additions & 0 deletions docs/build/micro-rdk/sensor/ultrasonic.md
Original file line number Diff line number Diff line change
@@ -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": "<pin-number>",
"echo_interrupt_pin": "<pin-number>"
}
```

{{% /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": "<your-ultrasonic-sensor-name>",
"model": "ultrasonic",
"type": "sensor",
"namespace": "rdk",
"attributes": {
"trigger_pin": "<pin-number>",
"echo_interrupt_pin": "<pin-number>"
sguequierre marked this conversation as resolved.
Show resolved Hide resolved
},
"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:

<!-- prettier-ignore -->
| 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. <br> Default: `50`. <br> Max: `100` |
sguequierre marked this conversation as resolved.
Show resolved Hide resolved

{{< readfile "/static/include/components/test-control/sensor-control.md" >}}
3 changes: 2 additions & 1 deletion static/include/micro-rdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -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" >}}:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great change!

[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/)

Expand Down
Loading