6.1 - 距離の測定¶
超音波センサーモジュールは、物体までの距離を決定するために、ソナーおよびレーダーシステムの原理に基づいて動作します。
必要なコンポーネント
このプロジェクトには、以下のコンポーネントが必要です。
全体のキットを購入する方が確実に便利です。リンクはこちら:
名前 |
このキットに含まれるアイテム |
購入リンク |
---|---|---|
ケプラーキット |
450+ |
以下のリンクから個別にも購入できます。
SN |
コンポーネントの説明 |
数量 |
購入リンク |
---|---|---|---|
1 |
1 |
||
2 |
マイクロUSBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1 |
回路図
配線
コード
注釈
ファイル
6.1_ultrasonic.ino
は、パスkepler-kit-main/arduino/6.1_ultrasonic
にあります。または、このコードを Arduino IDE にコピーしてください。
アップロード ボタンをクリックする前に、ボード(Raspberry Pi Pico)と適切なポートを選択してください。
プログラムが動作していると、シリアルモニターには超音波センサーから先の障害物までの距離が表示されます。
動作原理
超音波センサーの適用については、サブ関数を直接確認できます。
float readSensorData(){// ...}
PING
は、2マイクロ秒以上のHIGHパルスでトリガーされます。(クリーンな HIGH
パルスを確保するために、事前に短い LOW
パルスを与えます。)
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
エコーピンは、PINGからの信号を読み取るために使用され、その期間は物体のエコーを受信するまでの時間(マイクロ秒単位)です。
microsecond=pulseIn(echoPin, HIGH);
音速は340 m/s、または1センチメートル当たり29マイクロ秒です。
これは、ピンによって移動した距離、往復を指し、障害物までの距離を得るために2で割ります。
float distance = microsecond / 29.00 / 2;
超音波センサーが動作しているときにプログラムが一時停止することに注意してください。これは、複雑なプロジェクトを作成しているときに遅延を引き起こす可能性があります。