![2272fe825a45ce6dfafc260c33dbc1a0.png](https://img-blog.csdnimg.cn/img_convert/2272fe825a45ce6dfafc260c33dbc1a0.png)
人体红外感应模块工作原理
热红外人体感应器是根据红外线反射的原理研制的,常用于智能节水、节能设备,常见于感应水龙头、自动干手器、医用洗手器等。
人体体温恒定,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是探测人体发射红外线而进行工作。人体发射红外线通过菲泥尔滤光片增强后聚集到红外感应源上,感应器接收到人体红外辐射温度发生变化时就触发开工工作。
HC-SR501人体感应模块常和外接元器件配以构成被动式红外开关,它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、等装置。
![246e16419c86d1a0ba84db362dff702c.png](https://img-blog.csdnimg.cn/img_convert/246e16419c86d1a0ba84db362dff702c.png)
模块参数:
工作电压:4.5-20V
静态功耗:50微安
电平输出:高电平3.3V,低电平0V
模块的应用
利用模块检查到人体活动触发蜂鸣器报警及led灯闪烁
线路连接(*连接线路时树莓派务必断电操作)
![e5c9efb1beb893e6c066e056b2915ba4.png](https://img-blog.csdnimg.cn/img_convert/e5c9efb1beb893e6c066e056b2915ba4.png)
LED灯:用杜邦线连接树莓派GPIO的39号与40号引脚,40号引脚输出3.3伏电压连接面包板的正极串联一颗470欧姆的色环电阻,再将LED灯泡正极插入。LED灯泡负极插入面包板负极,39号引脚连接的杜邦线与其连接行程闭环。
蜂鸣器:蜂鸣器上的VCC(正极)端连接树莓派1号引脚(3.3V),I/O端连接树莓派3号引脚,将GND(负极)对接GND引脚9号引脚。
红外感应模块:模块上的正极连接树莓派4号引脚(5V),OUT信号输出链接树莓派8号引脚,将GND(负极)对接GND引脚6号引脚。
编写程序Induction.py
- import RPi.GPIO as GPIO
- import time
- #初始化
- def init():
- GPIO.setwarnings(False)
- GPIO.setmode(GPIO.BOARD)
- GPIO.setup(8,http://GPIO.IN)
- GPIO.setup(40,GPIO.OUT)
- GPIO.setup(3,GPIO.OUT)
- pass
- #蜂鸣器鸣叫与灯函数
- def beep():
- while GPIO.input(8):
- GPIO.output(3,GPIO.LOW)
- GPIO.output(40,GPIO.HIGH)
- time.sleep(0.1)
- GPIO.output(3,GPIO.HIGH)
- GPIO.output(40,GPIO.LOW)
- time.sleep(0.8)
- #感应器侦测函数
- def detct():
- #因为是仅仅试验,所以只让它循环运行100次
- for i in range(1,101):
- #如果感应器针脚输出为True,则打印信息并执行蜂鸣器函数
- if GPIO.input(8) == True:
- print('检测到有人的踪迹!')
- beep()
- #否则将蜂鸣器的针脚电平设置为HIGH
- else:
- GPIO.output(3,GPIO.HIGH)
- GPIO.output(40,GPIO.LOW)
- print('未发现目标!')
- time.sleep(2)
- time.sleep(3)
- init()
- detct()
- #脚本运行完毕执行清理工作
- GPIO.cleanup()
运行程序如无误的话程序会一直持续运行,红外模块检测工作,检测有人的情况会蜂鸣器报警及LED闪烁,并在窗口打印“检测到有人的踪迹!”,把红外模块遮挡或没检测到人则窗口打印“未发现目标”。