Micro:bit、Micropython、フォトインタラプタで遮りを検知する
フォトインタラプタ
フォトインタラプタは、光を遮ることで物体の通過を検出するセンサです。発光部のLEDと受光部のフォトトランジスタで構成されています。発光部に赤外線を使うのは、可視光による外乱を防ぐためです。
- 光を検出
- 光の遮りの検知を電気に変換(スイッチ)
- 非接触センサー
- 能動的センサ
フォトインタラプタモジュール
ここでは、KEYESTUDIO製のBBC Micro: bitのスターターキットにあるフォトインタラプタモジュールを使用します。
他メーカーのフォトインタラプタモジュールを購入するときは、 周辺回路にご留意してください。
インターフェース
本モジュールからMicro: bitへデジタル信号を入力します。
MicropythonとMicro:bit
遮りを検知するサンプルソフトを以下に説明します。
フロー
サンプルプログラムのフローを以下に示します。
- 通常(遮る物がない)は、LEDディスプレイにYESを表示
- 遮る物を検出したときは、LEDディスプレイにNOを表示
接続
接続表と接続図(写真)を示します。
Micro:bit | モジュール |
P0 | S |
3V | + |
GND | - |
コード
from microbit import * # Micro:bitを初期化 display.clear() # LCEディスプレイを初期化 pin0.set_pull(pin0.NO_PULL) # ピンの状態 while True: if pin0.read_digital(): # 何か遮ったとき display.show(Image.YES) else: # 何も遮っていないとき display.show(Image.NO) sleep(100)
結果
ゲオカードをフォトインタラプタにとおすと、LEDディスプレイがYES(チェックマーク)を表示しました。
他メーカーのフォトインタラプタモジュールを購入するときは、 周辺回路にご留意してください。