ESP32 チュートリアル 19/55 - 赤外線センサーを使った障害物の検出 | SunFounder の ESP32 IoT 学習キット
このチュートリアルでは、ESP32モジュールを使用して赤外線障害物回避センサーをどのように使うかを学びます。このプロジェクトでは、障害物が検出されたときにセンサーがブザーを鳴らす方法を示します。また、セットアップはシリアルモニターに検出ステータスを表示し、センサーの機能を明確かつインタラクティブに観察する方法を提供します。
私たちは、Wi-FiおよびBluetooth機能を搭載したESP32マイクロコントローラーを含むSunFounder ESP32 IoT学習キットを使用します。赤外線センサーは赤外線光を発信し、近くの障害物に反射します。光が反射されると、センサーは出力信号をトリガーし、その信号を私たちのコードで読み取ります。また、障害物が検出されると動作するブザーを含め、音声アラートを提供します。
ハードウェアの説明
このプロジェクトの主なコンポーネントには、ESP32モジュール、赤外線障害物回避センサー、ブザーが含まれます。ESP32モジュールは中央処理ユニットとして機能し、センサーからの入力を処理し出力を制御します。リチウムバッテリーを使用して電源を供給できるため、持ち運びが可能でさまざまな用途に柔軟に対応できます。
赤外線障害物回避センサーは、送信機と受信機で構成されています。送信機は赤外線光を発し、受信機は近くの物体から反射された光を検出します。障害物が存在する場合、センサーの出力ピンは低下し、ESP32にアクションを取るように信号を送ります。例えば、ブザーを鳴らすなどです。
データシートの詳細
| 製造業者 | サンファウンダー |
| 部品番号 | 赤外線障害物回避センサー |
| 動作電圧 | 3.3 V - 5 V |
| 出力タイプ | デジタル(障害物検出時に低) |
| 検出範囲 | 最大20センチメートル |
| 応答時間 | 10ミリ秒未満 |
| パッケージ | モジュール |
- 電源: 3.3 Vから5 Vで動作します。
- 障害物が検出されると出力信号が低下します。
- ポテンショメーターによる感度調整。
- 典型的な検出範囲は最大20 cmまでです。
- 応答時間が10ミリ秒未満。
配線指示
ESP32-19-obstacle_voide-wiring赤外線障害物回避センサーをESP32に接続するには、まずセンサーのVCCピンをESP32の5Vピンに接続します。次に、センサーのGNDピンをESP32のGNDピンの1つに接続します。最後に、センサーのOUTピンをESP32のGPIOピン14に接続します。
ブザーについては、負端子をGNDに、正端子をGPIOピン27に接続します。すべての接続が確実であり、センサーに正しく電源が供給されていることを確認してください。配線はシンプルであるべきで、センサーとブザーは単純な電源と信号の接続のみが必要です。
コード例とウォークスルー
コードでは、最初に障害物回避センサーに接続されているピンを定義します。これは、識別子を使用して行われます。avoidPin14に設定します。また、変数を宣言します。avoidStateセンサーの出力状態を保持するために。
const int avoidPin = 14; // the number of the avoid module pin
int avoidState = 0;
セットアップ関数では、シリアル通信を初期化し、設定します。avoidPin入力として。これにより、ESP32はセンサーの出力状態を読み取ることができます。
void setup() {
Serial.begin(115200);
pinMode(avoidPin, INPUT);
}
ループ関数内で、センサーの出力を継続的に読み取ります。digitalRead(avoidPin)結果を保存してavoidStateこの値はシリアルモニターに出力され、障害物が検出されたとき(出力は0)または検出されなかったとき(出力は1)に確認できます。
void loop() {
avoidState = digitalRead(avoidPin);
Serial.println(avoidState);
}
記事の下にある読み込みセクションを参照してください。
デモンストレーション / 期待されること
セットアップが完了し、コードがアップロードされると、シリアルモニターには障害物が検出されているかどうかに応じて0または1が表示されるはずです。障害物が検出範囲内にある場合、出力は0となり、ブザーが鳴ります。障害物が取り除かれると、出力は1となり、ブザーは停止します。この機能は、動画(12:30の動画)で示されています。
一般的な問題には、センサーが適切に機能しない原因となる配線の誤りや、シリアルモニターのボーレートの不一致が含まれることがあります。問題が発生した場合は、これらの側面を確認してください。
ビデオのタイムスタンプ
- 00:00 開始
- 1:57 プロジェクト紹介
- 4:33 配線障害物回避
- 5:55 障害物回避のためのArduinoコード
- 7:36 Arduino IDEでESP32ボードとCOMポートを選択する
- 9:18 プロジェクトデモンストレーション
- 10:42 感度調整の範囲を増加させています
- 12:39 障害が検出されたときの対処
- 障害物が検出されたときにブザーを使用する 14:24
画像
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
言語: C++