人体红外传感器HC-SR501
HC-SR501
① 调节灵敏度 逆时针低 ② 调节延时 逆时针低
- 调节距离电位器逆时针旋转,感应距离减小(约 3 米),反之,感应距离增大(约 7 米)
- 调节延时电位器逆时针旋转,感应延时减短(约 0.5S),反之,感应延时加长(约300S)
③ 触发方式选择
- 
 跳帽接上两个针脚(如上图),为H(可重复触发),在延时时段内,若感应到,将一直保持高电平 跳帽接下两个针脚,为L(不可重复触发),延时结束,自动从高电平转到低电平 当感应到人体,其IO输出3.3V高电平
模块参数:
- 
 工作电压:DC5V至20V 静态功耗:65微安 电平输出:高3.3V,低0V 延时时间:可调(0.3秒~18秒) 封锁时间:0.2秒 触发方式:L不可重复,H可重复,默认值为H(跳帽选择) 感应范围:小于120度锥角,7米以内 工作温度:-15~+70度
参考:
PIR传感的模拟信号经BISS0001运算放大,输出到IO。
试验
试验中探测IO电平3.56v左右。
试验设置感应led接线
树莓派样例
import RPi.GPIO as GPIO
import time
def init():
        GPIO.setwarnings(False)
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(23, GPIO.IN)
        GPIO.setup(16,GPIO.OUT)
        GPIO.output(16, GPIO.LOW)
        pass
def led():
        GPIO.output(16, GPIO.HIGH)
        time.sleep(0.5)
        print "detct people led turn on"
def detct():
        for i in range(1, 31):
                if GPIO.input(23) == True:
                        print time.strftime(%Y-%m-%d %H:%M:%S,time.localtime(time.time()))+"  Someone is closing!"
                        led()
                else:
                        GPIO.output(16, GPIO.LOW)
                        print time.strftime(%Y-%m-%d %H:%M:%S,time.localtime(time.time()))+"  No one!"
                time.sleep(2) 
time.sleep(2)
init()
detct()
GPIO.output(16, GPIO.LOW)
GPIO.cleanup() 
root@ton_tom:/home/python # python hc-sr501.py 2022-02-14 17:26:08 Someone is closing! detct people led turn on 2022-02-14 17:26:10 Someone is closing! detct people led turn on 2022-02-14 17:26:13 No one! 2022-02-14 17:26:15 No one! 2022-02-14 17:26:17 No one!

