Micro:bit、Micropython、赤外線モーションセンサ(PIR AM312)で人体を検出する
PIRモーションセンサ
PIRモーションセンサは、人体を検出するセンサです。このセンサは焦電型赤外線センサともいいます。温度をもつ人体から放射されている赤外線を含む光を焦電効果によって検出します。また、フレネルレンズを装着することがあります。フレネルレンズは、レンズ表面に同心円状の切れ込みを入れて、レンズの大きさや厚みを抑えています。
- 光を検出
- 光を電気に変換(スイッチ)
- 非接触センサー
- 受動的センサ
PIRモーションセンサモジュール
ここでは、KEYESTUDIO製のBBC Micro: bitのスターターキットにあるPIRモーションセンサモジュールを使用します。
他メーカーのPIRモーションセンサモジュールを購入するときは、 周辺回路にご留意してください。
インターフェース
本モジュールからMicro: bitへデジタル信号を入力します。
MicropythonとMicro:bit
人体を検出するサンプルソフトを以下に説明します。
フロー
サンプルプログラムのフローを以下に示します。
- 通常は、LEDディスプレイがNOを表示
- 人が来たとき、YES(チェックマーク)を表示
接続
接続表と接続図(写真)を示します。
Micro:bit | モジュール |
P0 | S |
3V | + |
GND | - |
コード
from microbit import * # Micro:bitを初期化 display.clear() # LEDディスプレイを初期化 pin0.set_pull(pin0.NO_PULL) # ピンの状態 sleep(10000) # Warm-up time, 10 sec while True: if pin0.read_digital(): display.show(Image.YES) else: display.show(Image.NO) sleep(100)
結果
手を検出するとLEDディスプレイがYESを表示します。
他メーカーのPIRモーションセンサモジュールを購入するときは、 周辺回路にご留意してください。