Edited at

Raspberry Piに焦電型赤外線(人感)センサーを接続してみた

More than 3 years have passed since last update.

Raspberry Piで焦電型赤外線(人感)センサーを使うときの手順メモ


用意するもの


  1. Raspberry Pi 2 Model B(セットアップ済みのもの、OSはRaspbian)

  2. 焦電型赤外線(人感)センサーモジュール

  3. ブレッドボード

  4. ブレッドボード用ジャンパーワイヤ(オス-メス) 3本


接続した人感センサー

秋月電子通商で焦電型赤外線(人感)センサーモジュール SB412Aを購入した。

スクリーンショット 2015-10-22 18.34.25.png

秋月電子通商のデータシートで、各端子の意味を確認した。

スクリーンショット 2015-10-22 18.27.24.png


人感センサーとRaspberryPiとの接続

人感センサーの各端子とブレッドボードとの接続

スクリーンショット 2015-10-22 18.34.25.png

※画像の"b"は"d"の間違い。人感センサーは、ブレッドボードのd9, d10, d11に接続する。

ブレッドボードとRaspberry Piとの接続


  • b9と6番ピン(Ground)

  • b10と12番ピン(GPIO18)

  • b11と4番ピン(5v)

Raspberry Piのピン配置は、Raspberry PiでLEDの点灯を参照

接続後のイメージは以下の通り。

image-5.jpg


Raspberry Piで人感センサーから情報取得

Pythonでコードを書いてみる。

※setmode, setupの説明に関しては、Raspberry PiでLEDの点灯を参照


motion_sensor.py

import RPi.GPIO as GPIO

from time import sleep

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN)

try:
while True:
print GPIO.input(18)
sleep(1)

except KeyboardInterrupt:
pass

GPIO.cleanup()


実行結果

人を検知した場合は1と表示される。


ターミナル

$ sudo python ./motion_sensor.py 

1
0
0
0
0
0
0
1
1
1
1
1
0

ついでに、ターミナルからセンサーの情報を取得する方法は以下の通り。

1. GPIO 18を有効にする


ターミナル

sudo echo 18 > /sys/class/gpio/export


上記コマンドを実行すると、 /sys/class/gpio/gpio18ディレクトリが作成される。

2. GPIO 18を入力として使用する


ターミナル

$ sudo echo in > /sys/class/gpio/gpio18/direction 


3. センサーの出力を取得する


ターミナル

$ sudo cat /sys/class/gpio/gpio18/value 


人を検知した場合は1、検知しない場合は0を出力する。

4. 後処理(Pin を無効にする)


ターミナル

sudo echo 18 > /sys/class/gpio/unexport