ArduinoでVL53L0Xレーザー距離計を使用する
このチュートリアルでは、Arduino でVL53L0Xレーザー距離計を使用する方法について説明します。このデバイスを使用すると、レーザーを使用して距離を正確に測定できるため、ロボット工学やオートメーションなどのさまざまな用途に最適です。このチュートリアルを終えるまでに、距離を測定してシリアルモニターに表示できる機能セットアップが完成します。

このプロジェクトでは、センサーとのインターフェースプロセスを簡素化するAdafruit VL53L0Xライブラリを使用します。このライブラリは、センサーの初期化、測定値の読み取り、発生する可能性のあるエラーの処理に必要な機能を提供します。セットアップのビジュアルガイドについては、ビデオを参照してください(ビデオの02:15)。
ハードウェアの説明
このプロジェクトの主なコンポーネントには、VL53L0Xレーザー距離計とArduinoボードが含まれます。VL53L0Xは、レーザーを使用して最大2メートルの距離を高精度で測定する飛行時間型センサーです。I2Cプロトコルを介して動作するため、Arduinoとの通信が容易です。
Arduinoボードは、VL53L0Xからのデータを処理するマイクロコントローラーとして機能します。センサーにコマンドを送信し、距離測定値を受信し、他のアプリケーションで表示または利用できます。センサーからの正確な読み取りを保証するには、適切な配線が非常に重要です。
データシートの詳細
| 生産者 | STMicroelectronics |
|---|---|
| 部品番号 | VL53L0X |
| 動作電圧 | 2.6V〜3.5V |
| 範囲 | 30 mmから2000 mm |
| 精度 | ±3%(標準) |
| インターフェイス | I2C型 |
| 温度範囲 | -40°C〜+85°C |
| 消費電流 | <1mA(スタンバイ)、20mA(アクティブ) |
| パッケージ | VFLGA-8 |
- センサーに正しく電力が供給されていることを確認します(2.6 V〜3.5 V)。
- 競合を避けるために、正しい I2C アドレス設定を維持してください。
- 正確な距離測定のために、センサーを清潔に保ちます。
- 必要に応じて、I2Cラインに適切なプルアップ抵抗を使用します。
- 信頼性の高い測定値を得るために、センサーへの直射日光を避けてください。
配線手順

VL53L0XセンサーをArduinoに配線するには、センサーのVCCピンをArduinoの5Vピンに接続します。GNDピンはArduinoのグランド(GND)に接続する必要があります。I2C通信の場合は、VL53L0XのSDA端子をArduinoのA4端子に接続し、SCL端子をA5端子に接続します。別のArduinoモデルを使用している場合は、そのボードの特定のSDAおよびSCLピンの割り当てを参照してください。
たとえば、Arduino Megaでは、SDAをピン20に接続し、SCLをピン21に接続します。通信の問題を回避するために、すべての接続が安全であることを確認してください。センサーが応答しない場合は、配線を再確認し、Arduinoに適切に電源が供給されていることを確認してください。
コード例とチュートリアル
以下は、VL53L0Xセンサーを初期化するセットアップ関数のスニペットです。
void setup() {
Serial.begin(9600);
while (! Serial) {
delay(1);
}
Serial.println("Robojax Test");
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
}このコードはシリアル通信を初期化し、VL53L0Xセンサーの起動を試みます。センサーが起動に失敗すると、エラーメッセージが出力され、プログラムが停止します。
次に、距離測定値を読み取るループ関数のスニペットを次に示します。
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
} else {
Serial.println(" out of range ");
}
delay(100);
}このブロックは、センサーからの距離測定値を継続的に読み取り、シリアルモニターに出力します。測定値が範囲外の場合は、それに応じてこれを示します。
デモンストレーション / みどころ
プログラムを実行すると、シリアルモニターに距離測定値が表示されます。測定値は 100 ミリ秒ごとに更新されます。センサーが物体を指している場合、距離はミリメートル単位で表示されます。オブジェクトが範囲外にある場合は、それも示します。最適な結果を得るには、指定された範囲内でセンサーをテストしてください(10:00のビデオで)。
ビデオのタイムスタンプ
- 00:00-紹介
- 02:15- 配線設定
- 05:30- コードの説明
- 10:00-デモ
リソースと参考文献
-
外部VL53L0X データシート (PDF)st.com
ファイル📁
ファイルは利用できません。