M5Stack ToF測距センサユニット

概要

レーザーを利用した距離センサーの紹介です。超音波式に比べると精度が高いのが特徴です。

商品

ソケットが赤なのでI2C接続のユニットです。

上にあるのがToFのセンサですね。

0から2メートルまで測定できると書いてあります。ただし、センサーがちょっと凹んだ場所になるので壁にベタ付けしても0にはなりません。VL53LOXというセンサーを利用していますね。

秋月さんでも千円超えているので、結構高いセンサーです。そして秋月さんは3センチから2メートルという表記なので、こっちが正しそうです。。。

スケッチ例

#include <Wire.h>
#include <VL53L0X.h> // by Pololu http://librarymanager/All#vl53l0x-arduino https://github.com/pololu/vl53l0x-arduino

VL53L0X sensor;

void setup()
{
  Serial.begin(115200);
  Wire.begin(32, 33); // M5StickC

  sensor.setAddress(0x29);
  sensor.setTimeout(500);
  if (!sensor.init()) {
    Serial.println("Failed to detect and initialize sensor!");
    while (1) {}
  }

  sensor.startContinuous();
}

void loop()
{
  Serial.print(sensor.readRangeContinuousMillimeters());
  if (sensor.timeoutOccurred()) {
    Serial.print(" TIMEOUT");
  }

  Serial.println();
}

公式スケッチ例はライブラリじゃなくて、ベタ書きの関数を組み込んでいましたので、プレーンなライブラリを使うように変更してあります。

この例ですとミリ単位で距離が取得できます。超音波に比べてかなり数値も安定しています。

まとめ

さすがにちょっとお高いセンサーなので精度が高いです。使い方もシンプルですね。

コメントする

メールアドレスが公開されることはありません。

管理者承認後にページに追加されます。公開されたくない相談はその旨本文に記載するかTwitterなどでDM投げてください。またスパム対策として、日本語が含まれない投稿は無視されますのでご注意ください。