LoginSignup
21
36

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-10-22

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
21
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
36