raspberrypi 人感センサー pigpio

秋月電子で焦電型赤外線センサーモジュール(焦電人感センサ)
として売られているサインスマート社製品の人感センサーを使ってみる

接続は
人感センサー VCC OUT GND BISS00001側がGND (ロットによってはパターン上に記載なし)     3.3V  17 GND

LEDはLEDテストと同じ配線

フルカラーLEDをpigpioで動作

接続
LED 1—-Grenn  2—-Blue  3—-common  4—-Red
R   220Ω    220Ω            220Ω 
PI   27      22      GND     18

感知すれば1 未感知で0  赤と緑点灯

#!/usr/bin/env python3
import pigpio 
import time
pi = pigpio.pi()
pins = {'Red':18, 'Green':27, 'Blue':22}
FREQ = 1000# 周波数
RANGE = 256# レンジ

pirPin = 17

#初期処理 出力、HIGH ,周波数とレンジをセット
def setup():
        pi.set_mode(pirPin, pigpio.INPUT)
        for i in pins:
            pi.set_mode(pins[i], pigpio.OUTPUT)
            pi.write( pins[i], pigpio.HIGH)
            pi.set_PWM_frequency(pins[i],FREQ )
            pi.set_PWM_range(pins[i],RANGE)
            #サイクル0をセット
            pi.set_PWM_dutycycle(pins[i], 0)
#終了処理           
def destroy():	
	# サイクル0をセット ストップ
    for i in pins:
        pi.set_PWM_dutycycle(pins[i], 0)
    pi.stop()

# If run this script directly, do:
if __name__ == '__main__':
        setup() #初期処理

        while True:
            try:
                var = pi.read(pirPin)
                print(var)
                pi.set_PWM_dutycycle(pins['Red'], 0)
                pi.set_PWM_dutycycle(pins['Green'], 0) 
                if var == pigpio.HIGH:
                   pi.set_PWM_dutycycle(pins['Red'], 256)
                else:
                   pi.set_PWM_dutycycle(pins['Green'], 256)      
                time.sleep(0.3)
                

            except KeyboardInterrupt:
                destroy()


カテゴリー iot