HC-SR501人感センサーを調達。
HC-SR501人感センサー。ArduinoやRaspberry Piで使う定番らしい。
よく人が近付くと電気がつくみたなところで使われているセンサー。
裏はこんな感じ。下に3本出ている端子が、左から電源、信号、接地。
信号は、センサーが反応するとONになり電圧がかかる。
ラズパイには直結でOK。電源をラズパイの5Vに、接地をラズパイのGNDに、信号は適当にGPIOに。
右上のジャンパーはシングルトリガーかマルチトリガーかの設定。ようするに、時間遅延内にセンサーが反応したときに、もう一度信号を出すかどうかの違い。
左の調整が0.5秒から200秒の遅延の設定。右の調整は感度。遠くまで反応するか近くだけで反応するか。
とりえあず、ラズパイにつないで動作確認。信号はGPIOの18番につないでみた。
# echo 18 > /sys/class/gpio/export
# echo in > /sys/class/gpio/gpio18/direction
# cat /sys/class/gpio/gpio18/value
catで信号の値が0か1で表示される。前に手をかざしてみて、反応していることを確認。あ、rootでやってね。
# echo 18 > /sys/class/gpio/unexport
で、お片付け。
#!/usr/bin/env python
import time
import RPi.GPIO as GPIO
SLEEP_TIME = 1
SENSOR_PIN = 18
GPIO.cleanup()
GPIO.setmode(GPIO.BCM)
GPIO.setup(SENSOR_PIN, GPIO.IN)
while True:
i = GPIO.input(SENSOR_PIN)
print i
if i == GPIO.HIGH:
print("Detected")
time.sleep(SLEEP_TIME)
さくっとPythonのコードを書いて動作確認。
動いてる動いてる。