M5Stack シリーズのATOM Lite で、TOFセンサーユニットを使用して、対象物との距離を計測してみます。
TOF ( Time Of Flight ) センサーは、物体までの距離を計測するものです。センサーから放射された光が対象物に反射して返ってくるまでの時間を元に距離を算出します。
Arduino IDE2.2.1 を使用します。Arduino IDEとATOM Liteの接続は、以下を参考にしてください。

- Windows10 Home 64bit
- ATOM Lite
- TOFセンサーユニット
- Arduino IDE 2.2.1
ATOM Lite とTOFセンサーの接続

ATOM Lite とTOFセンサーは、専用のケーブルでGrove 端子同士接続します。専用のケーブルは、TOFセンサーユニットに付属してました。

TOFセンサー用のライブラリをインストール
Arduino IDE2.2.1 でTOFセンサーを使用するため、ライブラリをインストールする必要があります。
TOFセンサーはVL53L0Xチップを内蔵しています。そのチップとのインタフェースとなるライブラリです。
ツール→ライブラリを管理などから、ライブラリマネージャーを起動します。

VL53L0X と入力します。VL53L0X をインストールします。
コード作成
サンプルコードを参考に、コードを作成します。
ファイル→スケッチ例→VL53L0X→Single を選択します。

サンプルコードを開くことができます。まずは、サンプルコードを適切な場所に保存しておきます。
サンプルコードの修正
サンプルコードを修正し、AtomLiteとTOFセンサーをI2Cで接続できるようにします。
setup() 内を修正します。
void setup()
{
Serial.begin(9600);
Wire.begin(26, 32, 100000);
sensor.setTimeout(500);
if (!sensor.init())
{
Serial.println("Failed to detect and initialize sensor!");
while (1) {}
}
…
Wire.begin で、I2Cの設定を変更します。SDA = 26、SCL=32、周波数100kHz となるように設定します。
ATOM LiteでI2Cを使用する場合は、他のサンプルコードでもデフォルトと変更する必要があると思われます。I2Cが上手く動かないならポート設定を疑ってみましょう。
コードの実行
PCとATOM Lite – TOFセンサーユニットと接続します。
ボードは↓の設定のものを使用します。

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

ツール→シリアルモニタで、シリアル出力情報を確認できます。

センサーと物体の距離を変化することで、この出力値も変わります。センサー値が正しく出力できていることを確認できました。
コメント