HC-SR501 人感センサー

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のコードを書いて動作確認。

動いてる動いてる。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください