注釈
こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。
なぜ参加するのか?
専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。
学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。
限定プレビュー:新製品発表や予告編に早期アクセス。
特別割引:最新製品の特別割引を楽しむ。
フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。
👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!
レッスン21: タイムオブフライトマイクロLIDAR距離センサー (VL53L0X)
このレッスンでは、Adafruit VL53L0Xタイムオブフライト距離センサーをESP32開発ボードで使用する方法を学びます。センサーの初期化、距離測定の読み取り、シリアルモニタにミリメートル単位で表示する方法を説明します。
必要な部品
このプロジェクトには以下の部品が必要です。
すべての部品が揃ったキットを購入すると便利です。リンクはこちら:
Name |
ITEMS IN THIS KIT |
LINK |
---|---|---|
Universal Maker Sensor Kit |
94 |
以下のリンクから個別に購入することもできます。
Component Introduction |
Purchase Link |
---|---|
ESP32 & Development Board |
|
配線
コード
コード解析
必要なライブラリのインクルードとセンサーオブジェクトの初期化。まず、VL53L0Xセンサー用のライブラリをインクルードし、Adafruit_VL53L0Xクラスのインスタンスを作成します。
#include <Adafruit_VL53L0X.h> Adafruit_VL53L0X lox = Adafruit_VL53L0X();
setup()
関数での初期化。ここでは、シリアル通信を設定し、距離センサーを初期化します。センサーの初期化に失敗した場合、プログラムは停止します。void setup() { Serial.begin(115200); while (!Serial) { delay(1); } Serial.println("Adafruit VL53L0X test"); if (!lox.begin()) { Serial.println(F("Failed to boot VL53L0X")); while (1) ; } Serial.println(F("VL53L0X API Simple Ranging example\n\n")); }
loop()
関数での測定値の取得と表示。ESP32開発ボードは、rangingTest()
メソッドを使用して継続的に距離測定を行います。測定が有効な場合、その結果をシリアルモニタに表示します。void loop() { VL53L0X_RangingMeasurementData_t measure; Serial.print("Reading a measurement... "); lox.rangingTest(&measure, false); if (measure.RangeStatus != 4) { Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter); } else { Serial.println(" out of range "); } delay(100); }