## プロジェクト 18:超音波センサー ### プロジェクト 18.1:超音波測距 1\. **説明** 超音波センサーはコウモリのようにソナーを利用して物体までの距離を測定します。高精度かつ安定した読み取りが可能な、使いやすい非接触距離検出を提供します。超音波の送信モジュールと受信モジュールが含まれています。 超音波センサーは障害物検知や距離測定のアプリケーションをはじめ、さまざまな電子プロジェクトで広く使用されています。 ![](./media/Makecode_0180b169.png) 超音波モジュールはトリガー信号の後に超音波を発信します。超音波が物体に当たり反射して戻ってくると、モジュールはエコー信号を出力するため、トリガー信号(TRIG)とエコー信号(ECHO)の時間差から物体までの距離を算出できます。 図のように、左右に並んだ2つの目のような形をしています。片方が送信側、もう片方が受信側です。 上の配線図によれば、超音波センサーモジュールの統合ポートは、micro:bit用モータードライバ基板の5V G P15 P16ポートに接続されています。Trig(T)ピンはmicro:bitのP15で制御され、Echo(E)ピンはP16に接続されています。 ![](./media/Makecode_1174e0ec.png) 2\. **動作原理** ![](./media/Makecode_8ff02741.png) (1) TRIGをLOWに引き、最低10µsのHIGHパルスを発生させる; (2) トリガー後、モジュールは自動的に8回の40kHz超音波パルスを送信し、信号の返り(エコー)があるかを検出する; (3) もし信号の返りがあれば、ECHO(E)がHIGHを出力します。そのHIGHの持続時間が超音波の送信から受信までの時間です。テスト距離 = HIGHの持続時間 \*340m/s\*0.5。  3\. **仕様** - 動作電圧: 3-5.5V (DC) - 動作電流: 15mA - 動作周波数: 40 kHz - 最大検出距離: 約3m - 最小検出距離: 2-3cm - 精度: 最大0.2cm - 検出角度: 15度未満 - 入力トリガーパルス: 10µs TTLレベル - 出力エコー信号: TTLレベル信号(HIGH)を出力し、距離に比例 4\. **準備** - micro:bitボードをkeyestudio 4WD Mecanum Robot Car V2.0のスロットに差し込む - 電池を電池ボックスに入れる - 電源スイッチをONにする - USBケーブルでmicro:bitをコンピューターに接続する - Web版のMakecodeを開く 5\. **テストコード** ![](./media/Makecode_497760b1.png) “JavaScript”をクリックして対応するJavaScriptコードを表示します: ![](./media/Makecode_387f3243.png) 6\. **テスト結果** コードをmicro:bitにダウンロードし、USBケーブルを接続したままPOWERスイッチをONにします。距離の値がモニタに表示されます。 ![](./media/Makecode_2cd74c16.png) モニタには、障害物と超音波センサー間の距離が表示されます(下図参照)。 ![](./media/Makecode_422adea3.png) CoolTermを開き、OptionsをクリックしてSerialPortを選択します。COMポートとボーレートを115200に設定します(テストによりMicro:bitのUSBシリアル通信のボーレートは115200です)。“OK”と“Connect”をクリックします。 CoolTermのシリアルモニタは以下のように距離値を表示します: ![](./media/Makecode_69b06998.png) ### プロジェクト 18.2:超音波による回避 ![Img](./media/Makecode_13139b46.png) 1\. **説明** このプロジェクトでは、超音波センサーと車両を組み合わせて超音波回避車を作ります。 その原理は、超音波センサーで車と障害物の距離を検出し、スマートカーの動作を制御することです。 2\. **準備** - micro:bitボードをkeyestudio 4WD Mecanum Robot Car V2.0のスロットに差し込む - 電池を電池ボックスに入れる - 電源スイッチをONにする - USBケーブルでmicro:bitをコンピューターに接続する - Web版のMakecodeを開く 3\. **フローチャート** ![Img](./media/Makecode_e2adae4b.png) 4\. **テストコード** ![](./media/Makecode_05a4740b.png) ![Img](./media/Makecode_d7879887.png) “JavaScript”をクリックして対応するJavaScriptコードを表示します: ![](./media/Makecode_c8f86a24.png) ![](./media/Makecode_13baf1d6.png) 5\. **テスト結果** コードをmicro:bitにダウンロードし、本体とPOWERをONにします。障害物との距離が20cmより大きい場合は車が前進します;逆に、スマートカーは左に曲がります。 ### プロジェクト 18.3:超音波追従 ![Img](./media/Makecode_d17a7889.png) 1\. **説明** 前回のレッスンでは、ライントラッキングセンサーの基本原理を学びました。次に、超音波センサーを車両と組み合わせて超音波追従車を作成します。 超音波センサーは障害物との距離を検出し、車の動作状態を制御します。 2\. **準備** - micro:bitボードをkeyestudio 4WD Mecanum Robot Car V2.0のスロットに差し込む - 電池を電池ボックスに入れる - 電源スイッチをONにする - USBケーブルでmicro:bitをコンピューターに接続する - Web版のMakecodeを開く 3\. **フローチャート** ![Img](./media/Makecode_f5026aed.png) 4\. **テストコード** ![](./media/Makecode_03b95531.png) “JavaScript”をクリックして対応するJavaScriptコードを表示します: ![](./media/Makecode_a93c8245.png) 5\. **テスト結果** コードをmicro:bitにダウンロードし、シールド上のPOWERスイッチをONにすると、スマートカーは障害物を追従して移動できるようになります。