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

  • 17
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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