エリキシルにおけるDYP‐A 01超音波距離センサの使用
9515 ワード
にほんご
先日、私はDYP-A01 ultrasonic distance sensor 私のNerves -動力Raspberry Pi . これが私のノートです.
ロングストーリー 私は、私たちがラズベリーパイのシリアルポートを通して超音波センサーと通信するのを可能にするElixirプログラムを書きました. 超音波センサーを接続する距離を測定できました. ラズベリーパイゼロのUART Rxピン ラズベリーパイ4のUART RXピン ラズベリーパイ4のUSBポート
神経ファームウェア
私の使用Nerves 私のラズベリーパイのファームウェアを構築する.
Elxirプログラミング言語のファームウェアを構築するプラットフォームです.そこには良い資源がある.
私は個人的に神経の公式文書を読んで神経を始めた.そこで質問をしました Nerves documentation Nerves • Elixir School ここではいくつかの例をファームウェアのプロジェクトでは、実験を行うことができます. Nerves Livebook firmware Nerves example firmware collection 次のYoutube動画では、神経プロジェクトの共同執筆者、初心者のための神経についての協議.
Elixir in Embedded Systems using Nerves Livebook YouTube
Elixir Wizards Live: Frank and the Wizards YouTube
使用ハードウェア
これが私の実験で使用したもののリストです.
DYP-A01 ultrasonic distance sensor
USB to TTL Serial Cable
Jumper wires
Raspberry Pi 4
Raspberry Pi Zero W (with Headers)
配線
配線は、USBまたはGPIOピンを通して行うことができます.
USB
私は、ADAFruitのもので読んだものに基づくDTL - A 01超音波距離センサーとUSBをTTLシリアルケーブルに買いましたcatalog .
最初はどうやって彼らをつなぐかわからなかった.USBケーブルがそれの来る4本のワイヤーを持っている間、センサーのケーブルの終わりには1つのコネクタです.しばらくして、ジャンパーワイヤーを使って接続することができました.
私の場合では、感謝して、ワイヤーはきれいに色分けされます.そして、それは配線を簡単にします.この特定のセンサーのために、我々が我々のラズベリーPiからセンサーまで信号を送るので、1本のワイヤーは不必要です.私たちはセンサーから定期的に送られる信号を受け取りますdata sheet .
DPO - A 01
TTLシリアルケーブル
赤( 3.3 - 5 V )
赤色( 5 V )
黒色の
黒色の
ホワイト( TX/送信)
ホワイト(RX/受信)
GPIOピン
あるいは、我々はラズベリーパイでGPIOピンを通してセンサーをつなぐことができます.
DPO - A 01
ラズベリーパイ
赤( 3.3 - 5 V )
5 V
黒色の
グラウンド
ホワイト( TX/送信)
GPIO 15 ( RX/受信)
Raspberry Pi pinout
エリクサー・プログラム
必要なコードをElixirライブラリとしてパッケージ化しますdypa01 . 追加でインストールできます
シリアルポート名
あなたの神経への最初のシェルは、ラズベリーパイを動かしました.
現在実行中のすべてのシリアルポートを一覧表示できます.
測距
シリアルポート名が見つかったら、超音波距離センサから距離データを読みやすくする.
先日、私はDYP-A01 ultrasonic distance sensor 私のNerves -動力Raspberry Pi . これが私のノートです.
ロングストーリー
神経ファームウェア
私の使用Nerves 私のラズベリーパイのファームウェアを構築する.
Elxirプログラミング言語のファームウェアを構築するプラットフォームです.そこには良い資源がある.
私は個人的に神経の公式文書を読んで神経を始めた.そこで質問をしました
#nerves
さんのチャンネルElixir Slack 私が立ち往生したとき.人々はコミュニティで親切で親切です.Elixir in Embedded Systems using Nerves Livebook YouTube
Elixir Wizards Live: Frank and the Wizards YouTube
使用ハードウェア
これが私の実験で使用したもののリストです.
DYP-A01 ultrasonic distance sensor
USB to TTL Serial Cable
Jumper wires
Raspberry Pi 4
Raspberry Pi Zero W (with Headers)
配線
配線は、USBまたはGPIOピンを通して行うことができます.
USB
私は、ADAFruitのもので読んだものに基づくDTL - A 01超音波距離センサーとUSBをTTLシリアルケーブルに買いましたcatalog .
This sensor has UART output, so it can connect to a microcontroller or microcomputer with a TTL serial port. You can also connect it to a computer using a USB-to-serial adapter and read data from the operating system's COM or serial port device.
最初はどうやって彼らをつなぐかわからなかった.USBケーブルがそれの来る4本のワイヤーを持っている間、センサーのケーブルの終わりには1つのコネクタです.しばらくして、ジャンパーワイヤーを使って接続することができました.
私の場合では、感謝して、ワイヤーはきれいに色分けされます.そして、それは配線を簡単にします.この特定のセンサーのために、我々が我々のラズベリーPiからセンサーまで信号を送るので、1本のワイヤーは不必要です.私たちはセンサーから定期的に送られる信号を受け取りますdata sheet .
DPO - A 01
TTLシリアルケーブル
赤( 3.3 - 5 V )
赤色( 5 V )
黒色の
黒色の
ホワイト( TX/送信)
ホワイト(RX/受信)
GPIOピン
あるいは、我々はラズベリーパイでGPIOピンを通してセンサーをつなぐことができます.
DPO - A 01
ラズベリーパイ
赤( 3.3 - 5 V )
5 V
黒色の
グラウンド
ホワイト( TX/送信)
GPIO 15 ( RX/受信)
Raspberry Pi pinout
エリクサー・プログラム
必要なコードをElixirライブラリとしてパッケージ化しますdypa01 . 追加でインストールできます
dypa01
ファームウェアの依存関係のリストにmix.exs
ファイルdef deps do
[
{:dypa01, "~> 0.1"}
]
end
シリアルポート名
あなたの神経への最初のシェルは、ラズベリーパイを動かしました.
現在実行中のすべてのシリアルポートを一覧表示できます.
iex> Circuits.UART.enumerate
%{
"ttyAMA0" => %{},
"ttyS0" => %{},
"ttyUSB0" => %{
description: "CP2102 USB to UART Bridge Controller",
manufacturer: "Silicon Labs",
product_id: 60000,
serial_number: "0001",
vendor_id: 4292
}
}
UART用のデフォルトの神経シリアルポートを見つけることができます/boot/config.txt
.iex> cmd "cat /boot/config.txt | grep tty"
# Enable the UART (/dev/ttyS0)
0
私のケースでは、私のRASPREY PIゼロが使用したことがわかりましたttyAMA0
そして、私の猛烈なPIttyS0
UART用.測距
シリアルポート名が見つかったら、超音波距離センサから距離データを読みやすくする.
# Start a gen server for interacting with a DYP-A01 sensor on port ttyAMA0
iex> {:ok, pid} = DYPA01.start_link(port_name: "ttyAMA0")
{:ok, #PID<0.1407.0>}
# Measure the current distance
iex> DYPA01.measure(pid)
{:ok, %DYPA01.Measurement{distance_mm: 1680, timestamp_ms: 321793}}
Reference
この問題について(エリキシルにおけるDYP‐A 01超音波距離センサの使用), 我々は、より多くの情報をここで見つけました https://dev.to/mnishiguchi/use-dyp-a01-ultrasonic-distance-sensor-in-elixir-bp4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol