人体红外报警实验
人体红外传感器基本原理是检测人或者动物发出的红外线并用经过菲泥尔滤光片增强后聚集到红外感应源上,将感应的红外信号转化为电信号。本实验利用人体红外传感器检测人或者动物运动发出的红外线,发出警报。
OJ传感器扩展板 × 1;
知识要点:
无源蜂鸣器与有源蜂鸣器的区别:有源蜂鸣器内部有提供一定频率的震荡,所以当通电时就会发出声响。而无源蜂鸣器则没有震荡,若通电的数字信号频率一直保持不变则无源蜂鸣器不会发出声音。从而用arduino驱动无源蜂鸣器,可以通过修改频率让蜂鸣器唱歌发出美妙动听的音乐。
人体红外原理:人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。所以,红外探测基本概念是感应移动物体温度与背景物体温度的差异。
蜂鸣器模块对应接3号数字IO口。
/* [url=http://www.openjumper.com/]www.openjumper.com[/url] 日期:2013.5.18 IDE 版本:1.0.1 功能:利用人体红外模块检测一定范围内的动物运动状态,如果检测到有输出则发出 警报。 */ int Sensor_pin = 2; int Buzzerpin = 3; void Alarm() //蜂鸣器发出警报 { for(int i=0;i<100;i++){ digitalWrite(Buzzerpin,HIGH); //发声音 delay(2); digitalWrite(Buzzerpin,LOW); //不发声音 delay(2); //修改延时时间,改变发声频率 } } void setup() { pinMode(Sensor_pin,INPUT); //设置人体红外接口为输入状态 pinMode(Buzzerpin,OUTPUT); //设置蜂鸣器接口为输出状态 } void loop() { int val=digitalRead(Sensor_pin); //定义参数存储人体红外传感器读到的状态 if(val == 1) //如果检测到有动物运动(在检测范围内),蜂鸣器发出警报 { Alarm(); } else { return; } delay(100); //延时100毫秒 }
接线实物图:
注意事项:因为人体红外检测有一定角度,安装时注意安装位置避免误触发,同时人体红外模块可以调节其电位器来调节检测灵敏度,应按照实际情况进行调节。