【M5Stack ATOM Lite】超音波距離センサーで計測する

M5Stack シリーズのATOM Lite を使用して、超音波距離センサーから距離を計測してみます。

超音波距離センサは、超音波を使用して距離を計測するものです。今回は、M5Stack用の超音波距離センサーユニット( UNIT ULTRASONIC IO)を使用します。

ATOM Liteと超音波距離センサは、Grove 端子同士、ケーブルで接続します。

IDEは、Arduino IDE2.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 、超音波距離センサーを接続します。

ボードは↓のものを使用します。

書き込みアイコンを押して、コンパイル、書き込みを行います。

シリアルモニタの出力で、値が出力できていることを確認できました。超音波距離センサーに手を近づけるなどすると、値が変わることが確認できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次