### プロジェクト12:超音波障害物回避タンク #### **(1)説明:** 前のプロジェクトでは、超音波音声追従スマートカーを作りました。実際には、同じコンポーネントと同じ配線方法を使用し、テストコードを変更するだけで、超音波障害物回避スマートカーに変えることができます。このスマートカーは人の手の動きに合わせて動くことができます。 超音波センサーを使用して、スマートカーと前方の障害物との距離を検出し、このデータに基づいて2つのモーターの回転を制御することで、スマートカーの動きを制御します。 | 検出 | | | :----------------------------------------------------: | :-----: | | 前方の障害物との距離(超音波センサーで計測)
(サーボの角度を90°に設定) | a (cm) | | 右側の障害物との距離(超音波センサーで計測)
(サーボの角度を0°に設定) | a2 (cm) | | 左側の障害物との距離(超音波センサーで計測)
(サーボの角度を180°に設定) | a1 (cm) | **設定:サーボの開始角度を90°に設定** | 条件1 | 条件2 | 条件3 | 動作 | | :---: | :------------------: | :--------------: | :------------------------------------------------------- | | a<20 | | | 500ms停止;サーボの角度を180°に設定し、a1を読み取り、100msの遅延;サーボの角度を0°に設定し、a2を読み取り、0.1sの遅延。 | | | a1<50
または
a2<50 | **a1とa2を比較** | | | | | a1>a2 | サーボの角度を90°に設定し、700ms左回転(PWMを255に設定)し、前進(PWMを200に設定)。 | | | | a1<a2 | サーボの角度を90°に設定し、700ms右回転(PWMを255に設定)し、前進(PWMを200に設定)。 | | | a1≥50
かつ
a2≥50 | ランダム | サーボの角度を90°に設定し、500ms左回転(PWMを255に設定)し、前進(PWMを200に設定)。

サーボの角度を90°に設定し、500ms右回転(PWMを255に設定)し、前進(PWMを200に設定)。 | | a≥20 | | | 前進(PWMを100に設定) | #### **(2)フローチャート:** ![](media/wps119.png) #### **(3)接続図:** ![](media/c5c842ac7e834b9b24ab06b3ce3d02ac.png) (注意: サーボの茶色、赤色、オレンジ色のワイヤーはそれぞれ拡張ボードのG (GND)、V(5V)、D10に接続されます;超音波センサーについては、VCCピンを5v (V)に、Trigピンをデジタル12 (S)に、EchoピンをD13 (S)に、GndピンをGnd (G)に接続します;前のプロジェクトと同様です。) #### **(4)テストコード:** 以下のようにブロックをドラッグしてコードを編集することもできます。![](media/6eb13569aaa7bf560f62049df28b51db.png) (2)![](media/5dcbd405806b8e341505d7316246dbdd.png) (3)![](media/996c8d4e5dd9620757dfb097329e7d5d.png) (4)![](media/5c5994681a5e494ba5ae4ce3c2d1ddac.png) (5)![](media/904732a3bfdb65a5ef0207d40b3abcc6.png) (6)![](media/5aa8407b0ed182b18f227c8e1ec9a0b4.png) (7)![](media/595ee7b491d37a90afe34cec1a429783.png) (8)![](media/4b40151c7482ff9371570978b8ef9c77.png) (9)![](media/ac663c190f6b0fe5e9861b29b94765b5.png) (10)![](media/72f725bac7ba927b55e3a9eea3b1a660.png) (11)![](media/fcad8e3c5bf2690dfc7ed07200f72401.png) **完全なテストコード** (**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードにもシリアル通信を使用しており、Bluetoothシリアル通信と競合が生じ、アップロードが失敗する可能性があります。) ![](media/4360f9642a8c6b2488767c079d481482.png) #### **(5)テスト結果:** テストコードのアップロードが成功したら、配線し、DIPスイッチをON側に切り替えて電源を入れます。スマートカーは前進し、自動的に障害物を回避します。 ![](./media/img-20240117093950.png)