熊おふし五郎が行く

主にマイコンボードを動かした記録を書いています

Micro:bit、Micropython、赤外線近接センサで障害物を検出する

赤外線障害物検出センサ

赤外線障害物検出センサは、障害物を検出するセンサです。発光素子の赤外線LEDから出た赤外線が障害物に当って反射したことを、受光部の赤外線受光モジュールが検出します。

f:id:bear_9973:20201108141738p:plain:w300
フォトインタラプタの仕組み

  • 光を検出
  • 光を電気に変換(スイッチ)
  • 接触センサー
  • 能動的センサ

赤外線障害物検出センサモジュール

ここでは、KEYESTUDIO製BBC Micro: bitのスターターキットにある赤外線障害物検出センサモジュールを使用します。

他メーカーの赤外線障害物検出センサモジュールを購入するときは、 周辺回路にご留意してください。

インターフェース

本モジュールからMicro: bitへデジタル信号を入力します。

MicropythonとMicro:bit

障害物を検出するサンプルソフトを以下に説明します。

フロー

サンプルプログラムは、赤外線障害物検出センサの出力をそのままLEDディスプレイに表示します。

接続

接続表と接続図(写真)を示します。

Micro:bit モジュール
P0 S
3V +
GND -

f:id:bear_9973:20201108142145p:plain:w400
構成図

コード

from microbit import *

# Micro:bitを初期化
display.clear()  # LCEディスプレイを初期化
pin0.set_pull(pin0.NO_PULL)  # ピンの状態

while True:
    val = pin0.read_digital()
    display.show(val)
    sleep(500)

結果

通常では、LEDディスプレイが1を表示します。飛び出し坊やが赤外線障害物検出センサの前に出たときは、LEDディスプレイが0を表示します。

f:id:bear_9973:20201108142514j:plain:w500
動作状況