ESP32 チュートリアル 20/55 - ライントラッキングモジュール | SunFounder の ESP32 IoT 学習キット
このチュートリアルでは、ESP32モジュールとライン追跡モジュールを使用して、白い表面上の黒いラインを検出する方法を学びます。この機能は、指定された経路に沿って移動する必要があるロボットカーなどのアプリケーションに不可欠です。さらに、ライン追跡モジュールが黒いラインを検出したときに作動するブザーを統合し、プロジェクトのフィードバックメカニズムを向上させます。詳細については、ビデオを参照してください(ビデオの0:00にあります)。
ライントラック
ハードウェアの説明
このプロジェクトの主なコンポーネントには、ESP32モジュール、ライン追跡モジュール、およびブザーが含まれます。ESP32モジュールは、内蔵のWi-FiおよびBluetooth機能を備えた強力なマイクロコントローラーで、さまざまなIoTアプリケーションに対応しています。ライン追跡モジュールは、赤外線エミッタとフォトレジスタを利用して、反射された赤外線光の強度に基づいて表面の色の違いを検出します。
ライン追跡モジュールは、下の表面に反射する赤外線を発信することで動作します。黒のような暗い表面はより多くの光を吸収し、反射強度が低下しますが、白のような明るい表面はより多くの光を反射し、高い強度を生成します。この違いはオペレーショナルアンプによって処理され、表面の状態(黒または白)を判断し、対応する信号を出力します。
データシートの詳細
| 製造業者 |
サンファウンダー |
| 部品番号 |
TCRT5000 |
| 論理/入出力電圧 |
3.3 Vから5 V |
| 出力電流(チャネルごと) |
20 mA |
| ピーク電流(チャネルごと) |
50 mA |
| 応答時間 |
< 10 ミリ秒 |
| 検出範囲 |
1 cmから5 cm |
| パッケージ |
ヘッダーピン付きモジュール |
| ノート / バリアント |
ライン追従ロボットで一般的に使用される |
- 適切な電源供給を確保してください(3.3 V または 5 V)。
- センサーを清潔に保ち、正確な読み取りを行ってください。
- オンボードのポテンショメーターを使用して感度を調整してください。
- 接続を確認して、フローティング入力を避けてください。
- 安定した読み取りを得るために必要に応じてプルアップ抵抗を使用してください。
- 周囲の赤外線源からの干渉を最小限に抑えます。
配線指示
ESP32-20_line-tracking-wiringライン追跡モジュールをESP32に接続するには、まずモジュールのグラウンドピンをESP32のグラウンドピンに接続します。次に、ライン追跡モジュールのV+ピンをESP32の適切な電源、つまり3.3 Vまたは5 Vに接続します。信号ピン(ラベル付き)S) はESP32のGPIO 14に接続されるべきです。接続が確実であることを確認してから進めてください。
ブザーを使用している場合は、負端子をグラウンドに接続し、正端子をESP32のGPIO 27に接続します。このセットアップにより、ライン追跡モジュールが黒いラインを検出したときにブザーが鳴動します。コネクタがコードで指定されたピンと一致していることを確認するために、すべての接続を再確認してください。
スペ32-20_ライン追跡回路図
コードの例と手順説明
以下は、ライン追跡モジュールをセットアップするコードの重要な抜粋です。変数linePinライントラッキングモジュールに接続されているピンを表すように定義されています。
const int linePin = 14; // The number of the line track module pin
この行は初期化しますlinePinピン14はラインステータスを読み取るために使用されます。lineState変数はセンサーからの結果を保持します。
申し訳ありませんが、そのテキストは不完全であるため、翻訳できません。setup()機能として、ピンモードを設定します。linePin入力として。
void setup() {
Serial.begin(115200);
pinMode(linePin, INPUT);
}
これにより、ESP32がライントラッキングモジュールの状態を読み取ることができます。シリアル通信は、出力の監視のために115200ボーのボーレートで開始されます。
最後に、においてloop()機能として、私たちはライン追跡モジュールの状態を継続的に読み取り、検出された色を表示します。
void loop() {
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
} else {
Serial.println("White");
delay(100);
}
}
このループは、もしもlineStateは高(黒を示す)または低(白を示す)であり、その結果をシリアルモニターに印刷します。完全なコードは、参照のために記事の下に読み込まれます。
デモンストレーション / 期待されること
配線が完了し、コードがアップロードされると、ライン追跡モジュールが黒い表面の上にあるときにESP32が「黒」と印刷し、白い表面の上にあるときに「白」と印刷されることを観察するべきです。さらに、モジュールが黒いラインを検出すると、ブザーが鳴り、音声通知が行われます。ポテンショメーターの設定に注意してください。過度に感度の高い設定は、不安定な動作につながる可能性があります(動画の10:00にて)。
動画のタイムスタンプ
- 00:00 スタート
- 2:22 ライントラッキングモジュールの紹介
- 5:10 ドキュメンテーションページ
- 9:20 配線の説明
- 10:49 Arduinoコードの解説
- 13:36 Arduino IDEでESP32ボードとCOMポートを選択中
- 15:18 デモンストレーション
- 18:15 プロジェクト:ブザー付きライン追跡
- 19:52 ライントラッキングとブザーのためのArduinoコード
- 20:52 デモンストレーション
画像
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
line_track
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
819-ESP32 Tutorial 20/55- Arduino code line tracking
言語: C++