5.3 障害物の検出

このモジュールは一般に、前方に障害物があるかどうかを判断するために車やロボットに取り付けられています。また、ハンドヘルドデバイス、水道の蛇口などにも広く使用されています。

必要な部品

このプロジェクトには、以下のコンポーネントが必要です。

キット全体を購入することは非常に便利です。こちらがリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ジャンパーワイヤ

BUY

障害物回避モジュール

BUY

利用可能なピン

  • 利用可能なピン

    このプロジェクトのESP32ボードに利用可能なピンのリストです。

    利用可能なピン

    IO13, IO14, IO27, IO26, IO25, IO33, I35, I34, I39, I36, IO4, IO18, IO19, IO21, IO22, IO23

  • ストラッピングピン(入力)

    ストラッピングピンは、デバイスの起動時に特定のブートモードを決定するために使用される特別なセットのピンです (つまり、電源オンリセット)。

    ストラッピングピン

    IO5, IO0, IO2, IO12, IO15

    一般的に、 入力ピンとして使用することは推奨されません。これらのピンを使用したい場合は、ブートプロセスへの潜在的な影響を考慮してください。詳細については、 ストラッピングピン セクションを参照してください。

回路図

../../_images/circuit_5.3_avoid.png

障害物回避モジュールが障害物を検出しない場合、IO14はハイレベルを返します。しかし、障害物を検出した場合は、ローレベルを返します。青色のポテンショメータを調整して、このモジュールの検出距離を変更できます。

配線図

../../_images/5.3_avoid_bb.png

コード

注釈

  • esp32-starter-kit-main\micropython\codes パスにある 5.3_avoid.py ファイルを開くか、コードをThonnyにコピー&ペーストしてください。次に、「現在のスクリプトを実行」をクリックするか、F5キーを押して実行します。

  • 右下のコーナーで「MicroPython (ESP32).COMxx」インタープリタを選択してください。

import machine
import time

ir_avoid = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_UP) # avoid module pin

while True:

    # Print values of the obstacle avoidance module
    print(ir_avoid.value())
    time.sleep(0.1)

プログラムが実行中の場合、IR障害物回避モジュールが前方に障害物を検出すると、シリアルモニターに「0」が表示されます。それ以外の場合は「1」が表示されます。