M5Stack シリーズのATOM Lite を使用して、超音波距離センサーから距離を計測してみます。
超音波距離センサは、超音波を使用して距離を計測するものです。今回は、M5Stack用の超音波距離センサーユニット( UNIT ULTRASONIC IO)を使用します。
ATOM Liteと超音波距離センサは、Grove 端子同士、ケーブルで接続します。
IDEは、Arduino IDE2.2.1 を使用します。
開発環境
- Windows10 Home 64bit
- ATOM Lite
- 超音波距離センサーユニット
- Arduino IDE 2.2.1
目次
ATOM Lite 超音波距離センサーユニットとの接続
ATOM Lite と超音波距離センサーユニットは、専用のケーブルでGrove 端子同士接続します。専用のケーブルは、超音波距離センサーユニットに付属していました。
超音波距離センサー用ライブラリのインストール
Arduino IDE で超音波距離センサーを使用するためにライブラリをインストールする必要があります。
Arduino IDE で、メニューバーのツール→ライブラリの管理 などからライブラリマネージャーを起動します。
M5Unit-Sonicと入力します。M5Unit-Sonicをインストールします。バージョンは0.0.2 です。
私の環境はすでにインストール済みでした。
サンプルコードの作成
メニューバーから、ファイル→スケッチ例→M5Unit-Sonic→Unit_SonicI2C_M5Atom を選択します。
サンプルコードが表示されます。
サンプルコードの修正
#include <M5Atom.h>
#include <Unit_Sonic.h>
SONIC_I2C sensor;
void setup() {
//M5.begin(true, true, false); // Init M5Atom. 初始化M5Atom
Serial.begin(115200);
Wire.begin(26, 32, 100000);
sensor.begin();
}
void loop() {
static float Distance = 0;
Distance = sensor.getDistance();
if ((Distance < 4000) && (Distance > 20)) {
Serial.printf("Distance: %.2fmm\r\n", Distance);
}
delay(100);
}
サンプルコードそのままだと、動作しませんでした。なので、以下変更しました。
- 7行目 : M5.beginをコメントアウト
- 8行目 : シリアル通信のボーレートを設定
- 9行目 : I2C の設定をSDA = 26、SCL=32、周波数100kHz となるようにする
コードの実行
PCとATOM Lite 、超音波距離センサーを接続します。
ボードは↓のものを使用します。
書き込みアイコンを押して、コンパイル、書き込みを行います。
シリアルモニタの出力で、値が出力できていることを確認できました。超音波距離センサーに手を近づけるなどすると、値が変わることが確認できます。
コメント