该树莓派控制HC_SR501人体红外感应模块是为了V4小车预加功能而下单购买并研究其用法的,但发现这HC_SR501人体红外感应模块与红外传感模块极为相似,只是它本身增加了延迟变为低电平的功能。
工作原理:
人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。
红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。
工作电压范围:DC 3 ~ 12V
实际延迟时间:1 ~ 2s
实际封锁时间:2 ~ 3.5s
实际感应范围:一米左右
红色线————5V
蓝色线————GND
黄色线————GPIO14(BCM)
如下为写成代码形式:
#!/usr/bin/python
#encoding:utf-8
# 目前用的人体红外传感器模块是最迷你型的,因此感应的距离只有一米
# 当检测到人体活动时,会持续高电平2~4秒
import RPi.GPIO as GPIO
import time
HC_SR501 = 14
GPIO.setmode(GPIO.BCM)
GPIO.setup(HC_SR501,GPIO.IN)
try:
while True:
if(GPIO.input(HC_SR501) == True):
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" 警告!附近一米内有人 ")
else:
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" 无情况,周围没人! ")
time.sleep(1)
except:
pass
GPIO.cleanup()
好伐,研究了个目前没有太大用处的模块,它主要用于自动感应人体的夜灯啊之类的(目前只想到这个)…但也可以装在小车上检测到范围内有人体活动时,让车速降低啊什么的,应该可以专门用来检测范围内是否有人体活动,就不知道太阳光的照射会不会对它造成干扰…太阳光中也会有红外线,万一它误认为太阳光也是人就尴尬了,一般检测红外的都见不了太阳光…唉,一大通病。