1、人体红外传感器工作原理 #
已知正常体温下,人可以向外发射一定波长强度的红外线,人体红外传感器不断探测设定距离内人类体温波长的红外光,当人进入人体红外传感器周围一定距离,即被传感器感知,传感器sig引脚输出高电平,人离开感知距离,传感器探测不到人体红外线,sig引脚输出低电平。
感应模块采用双元探头,使用中应使长方形探头方向与人体活动最多的方向尽量相平行,保证人体经过时先后被双元探头所感应,为了增加感应角度,双元探头上方覆盖圆形透镜。
应尽量避免灯光等干扰源近距离直射模块表面透镜,同时避免流动的风影响传感器对人体红外波长的感知。
2、人体红外传感器功能设置 #
2.1触发方式调节
L低电平不可重复,H高电平可重复。
A.不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
B.可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
2.2封锁时间和检测距离调节
1、延时调节:感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个延时封锁,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(默认封锁时间2.5S,最大可调节时间为300s)
2、调节检测距离:感应模块可感知人体红外波长距离最小为3米,最大距离约为7米。
2.3光敏控制调节
部分模块在图示位置有光敏调节组件,以应对外界光线强弱,此为可选组件。
3、所需元件清单
Arduino Uno主板
USB数据线
人体红外传感器
面包板
9V电池
杜邦导线
4、动手实验
实验1、检测人体红外传感器输出口状态
A实验接线
VCC—5v
GND—GND
SIG—A5
B实验代码
const int pirSensor=5;
void setup() {
// put your setup code here, to run once:
pinMode(pirSensor,INPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(analogRead(pirSensor));
}
实验2、结合红绿灯,实现人体靠近亮红灯功能
实验代码
int PIR_sensor = A5; //指定PIR模拟端口 A5
int LED = 13; //指定LED端口 13
int val = 0; //存储获取到的PIR数值
void setup()
{
pinMode(PIR_sensor, INPUT); //设置PIR模拟端口为输入模式
pinMode(LED, OUTPUT); //设置端口2为输出模式
Serial.begin( 9600); //设置串口波特率为9600
}
void loop()
{
val = analogRead(PIR_sensor); //读取A0口的电压值并赋值到val
Serial.println(val); //串口发送val值
if (val > 150) //判断PIR数值是否大于150,
{
digitalWrite(LED,HIGH); //大于表示感应到有人
}
else
{
digitalWrite(LED,LOW); //小于表示无感应到有人
}