ToFセンサー VL53LOX について調べていた

未分類

 M5Stackのコンテストに今年も挑戦しようと今日からいろいろ試し始めた(あと3日しかないのに)。距離を測るセンサーの一種、ToFセンサーを使う。

 調べる最中にGeminiにいろいろ出してもらったのでメモしておく。以下、Geminiが書いてくれたもの。

概要

Arduinoの Adafruit_VL53L0X ライブラリで利用できる主なプリセット設定パラメータ(動作プロファイル)は、configSensor() 関数や begin() 引数で指定する VL53L0X_Sense_config_t 列挙型に定義されています。 [1, 2]

センサー設定パラメータ(プロファイル)一覧

  • VL53L0X_SENSE_DEFAULT (値: 0)
    • 標準的なバランス型設定。 [1, 3]
  • VL53L0X_SENSE_LONG_RANGE (値: 1)
    • 長距離測定モード。最大2mまでの測定に対応しやすくします。 [1, 3, 4, 5, 6]
  • VL53L0X_SENSE_HIGH_SPEED (値: 2)
    • 高速測定モード。測定時間を短縮してサンプルレートを上げます。 [1, 3, 6]
  • VL53L0X_SENSE_HIGH_ACCURACY (値: 3)
    • 高精度測定モード。精度を重視するため測定時間が長くなります。 [1, 3, 7]

パラメータの適用方法

コード内で以下のように呼び出して切り替えます。 [2, 7]

lox.configSensor(Adafruit_VL53L0X::VL53L0X_SENSE_HIGH_ACCURACY);

また、初期化時(begin)に直接渡すことも可能です。 [8, 9]

lox.begin(0x29, false, &Wire, Adafruit_VL53L0X::VL53L0X_SENSE_LONG_RANGE);

もし特定のパラメータ(計測タイミング予算I2Cアドレスの変更など)について詳しく知りたい場合は、お気軽にお知らせください。

[1] https://adafruit.github.io

[2] https://forums.adafruit.com

[3] https://github.com

[4] https://thinkrobotics.com

[5] https://www.wasilzafar.com

[6] https://thinkrobotics.com

[7] https://gitlab.kh-berlin.de

[8] https://github.com

[9] https://github.com

Adafruit_VL53L0Xライブラリが用意している主要なプロファイル(初期設定)の仕様一覧です。用途に合わせて大雑把な目安としてご確認ください。

動作プロファイル仕様一覧表

プロファイル名最大測定距離の目安1回の測定時間 (タイミング予算)主な特徴・用途
VL53L0X_SENSE_DEFAULT約 1.2 m30 ms標準設定。速度と精度のバランス型。
VL53L0X_SENSE_HIGH_SPEED約 1.2 m20 ms最速モード。動く物体の検知やラジコン等に。
VL53L0X_SENSE_HIGH_ACCURACY約 1.2 m200 ms高精度モード。静止した対象をじっくり測る用途に。
VL53L0X_SENSE_LONG_RANGE約 2.0 m33 ms長距離モード。遠くを測る(今回は不要)。

※測定距離は、周囲の明るさ(太陽光の下など)や対象物の反射率によって短くなることがあります。

補足:さらに細かく調整したい場合

もし上記のプリセットで満足できない場合は、関数を使って手動で数値をピンポイント変更できます。

  • 測定時間(タイミング予算)をミリ秒単位で直接指定する// 例:1回の測定に100msかける(デフォルトは30ms) lox.setMeasurementTimingBudgetMicroSeconds(100000);
  • 一回だけ測るか、裏でずっと測り続けるか選ぶlox.startMeasurement(); // 連続測定を開始(バックグラウンドで常に更新) lox.stopMeasurement(); // 連続測定を停止

次は実際の測定コードの書き方に進みますか?それとも測定エラー(20kHzなどの異常値)の対策について確認しますか?

コメント

タイトルとURLをコピーしました