4.2.9 障害物回避

4.2.9.1 概要

Img

このプロジェクトでは、micro:bitボード、ゲームパッド、および超音波センサーを使用して、障害物回避システムを構築します。超音波センサーは障害物までの距離を測定し、OLEDディスプレイはリアルタイムで距離を表示します。距離が設定された閾値よりも小さい場合、micro:bitは警告音を鳴らし、LEDマトリックスに警告アイコンを表示します。

Img

4.2.9.2 コンポーネント知識

Img

超音波センサー

Img

超音波センサーは、超音波を使用して物体までの距離を測定するデバイスです。超音波センサーは、人間の聴覚の範囲を超える高周波音波を放射し、その反射波を受信することで機能します。音波が物体に到達して反射してセンサーに戻るまでの時間を測定することで、センサーは物体までの距離を計算できます。

回路図:

Img

パラメータ:

  • 動作電圧: DC 3V~5V

  • 動作電流: 15mA

  • 測定範囲: 2cm~400cm

  • 測定精度: 0.3cm

  • 測定角度: 15度

  • 出力信号: デジタル信号

4.2.9.3 必要な部品

Img

Img

Img

micro:bit V2 ボード (自己調達) ×1

micro:bit スマートゲームパッド (組み立て済み) ×1

単4電池 (自己調達) ×4

Img

Img

Img

超音波センサー (自己調達) ×1

OLED ディスプレイ (自己調達) ×1

F-F デュポンワイヤー(自己調達) x7

4.2.9.4 配線図

Img

上記のように配線した後、micro:bitをゲームパッドコントロールボードのスロットに挿入します。

OLED ディスプレイ

micro:bit ゲームパッドコントロールボード

micro:bit ボードピン

GND

GND

GND

VCC

3V

3V

SDA

SDA

P20

SCL

SCL

P19

超音波センサー

micro:bit ゲームパッドコントロールボード

micro:bit ボードピン

GND

GND

GND

VCC

3V

3V

Trig

1

P1

Echo

2

P2

4.2.9.5 コードフロー

Img

4.2.9.6 テストコード

⚠️ ここではOLEDと超音波センサーのライブラリが含まれているため、https://github.com/keyestudio/pxt-environment-kit-masterをインポートする必要があります。

完全なコード:

Img

Img

簡単な説明:

① OLEDのピクセルを初期化してクリアし、5×5LEDマトリックスに Img を表示させ、距離の値を0に定義します。

Img

② 超音波センサーの対応する測定値を変数distanceに割り当てます。

Img

③ OLEDに超音波センサーの測定値を表示します。

Img

④ 距離が10cm未満の場合、micro:bitは警告音を鳴らし、LEDマトリックスに警告アイコンを表示します。そうでない場合は、警告音を停止し、LEDマトリックスをクリアします。

Img

⑤ 500ms(0.5秒)遅延させます。

Img

4.2.9.7 テスト結果

Img

コードを書き込んだ後、micro:bitボードをゲームパッドのスロットに挿入し(電池が取り付けられていることを確認)、「ON」に切り替えます。

micro:bitボードにコードをアップロードすると、OLEDに超音波センサーが読み取った距離がリアルタイムで表示されます。距離が10cm未満の場合、micro:bitは警告音を鳴らし、LEDマトリックスに警告アイコンを表示します。

Img

ヒント: ボードが応答しない場合は、micro:bitボードの背面にあるリセットボタンを押してください。

Img