ラズベリーパイで人感センサー(焦電型赤外線センサー)の使い方
ラズベリーパイで使える人感センサー(焦電型赤外線センサー)について学び、使ってみましょう。
人感センサーとは
焦電型赤外線センサー
人の動きを検出するセンサーで、正式名称は焦電型赤外線センサー(Passive Infra-Red Sensor)と呼ばれています。電源ピンと出力ピン(OUT)の3本タイプが多く、人を検出した時だけ出力ピンに電圧が出力されます。焦電型セラミクスは平べったい構造をしています。周りからの赤外線を効率よく受け取るため、上部にドーム型のフレンネルレンズがついています。
焦電型赤外線センサーはサイズが大小さまざま、さらに検出した時の保持時間を調整できるものがあるなど、種類がたくさんあります。おすすめはブレッドボードに挿せる小型で安いタイプです。
使い方
電源(3.3V or 5V / GND)をつなぎ、出力ピンをGPIOにつなぎます。
Raspberry Pi | 人感センサー |
3.3V or 5V | Vcc (+) |
GND | GND (-) |
GPIO | OUT |
プログラムではGPIOを入力モードにし、GPIOピンの状態をチェックします。
GPIOピンの状態 | 意味 |
0 | 人を検出していない |
1 | 人を検出 |
原理
赤外線が当たると温度変化が生じて電気が発生する焦電型セラミクスという部品があります。これがセンサー内部に入っています。人体は赤外線を発していますので、人が動いたり近づいたりすると、電気的に検出できます。
赤外線の変化を検出するため、じっとしていると検出できません。また、人体以外にも、太陽光に含まれる赤外線や動物が発する赤外線でも反応してしまいます。使用には注意しましょう。
Raspberry Piでの人感センサーの使い方
使用する人感センサーは以下です。
・焦電型赤外線(人感)センサーモジュール SB412A
電子回路
電源、および使用するGPIOを接続します。
Raspberry Pi | センサー |
3.3V | Vcc |
GND | GND |
GPIO 26 | OUT |
Pythonスクリプト
import RPi.GPIO as GPIO import time ir = 26 GPIO.setmode(GPIO.BCM) GPIO.setup(ir, GPIO.IN) while True: sensor_state = GPIO.input(ir) print(sensor_state) time.sleep(1)
Raspberry Pi Picoでの人感センサーの使い方
使用する人感センサーは以下です。
・焦電型赤外線(人感)センサーモジュール SB412A
電子回路
電源、および使用するGPIOを接続します。
Pico | センサー |
3V3(OUT) | Vcc |
GND | GND |
GPIO 22 | OUT |
MicroPythonスクリプト
from machine import Pin from time import sleep ir = Pin(22, Pin.IN) while True: sensor_state = ir.value() print(sensor_state) sleep(1)
動作チェック
1秒おきに、検出していない時は0、検出している時は1と表示されましたか?
センサーの種類やねじ・つまみによる設定によって、1と表示される時間が変わります。アプリケーションに応じて適宜センサー側で検出保持時間を変更するか、プログラム側でsleepの間隔を調整しましょう。
おわりに
いかがでしたでしょうか? とても簡単に使えるセンサーなので、ぜひ使ってみてください😊