本系列文章为作者原创,未经作者书面同意,不得转载!
现在很多有老人的家庭都会在卫生间安装一种感应灯,当人进入卫生间时,灯就会发光,过一会儿就自动关闭了。这种灯比传统的声控灯要科学一下,尤其晚上,不会打扰到家人,非常方便。
今天就教大家来制作一盏人体感应灯!
我们还是先来将我们要做的人体感应灯的功能定义一下,做项目嘛,需求要先明确:人体感应灯能够在4米范围内感知人体,然后自动开启照明,人离开30秒后自动关闭照明。
1 本章您将学到
在这个项目中,您将学到的:
- 学会使用人体红外传感器
- 学习模拟信号输入操作
2 工具和组件
2.1 工具列表
本项目不需要额外的工具。
2.2 元器件列表
元器件 | 型号 | 数量 | 备注 |
---|---|---|---|
主控板 | arduino Uno | 1 | |
人体红外传感器 | HC-SR501 | 1 | |
电阻 | 220欧姆 | 1 | |
面包板 | 1 | ||
杜邦线 | 若个 | ||
数据线 | Uno数据线 | 1 |
2.3 工具和元器件介绍
2.3 工具和元器件介绍
2.3.1 HC-SR501人体红外传感器
2.3.1.1 工作原理
自然界中任何的物体都会辐射出红外线,只不过物体不同,辐射出来的红外线波长不相同而已。
小知识:
常见颜色光的波长分布:
光线 波长 紫光 0.4-0.43μm 蓝光 0.43-0.47μm 青光 0.47-0.50μm 绿光 0.50-0.56μm 黄光 0.56-0.59μm 橙光 0.59-0.62μm 红光 0.62-0.76μm 红外 0.76-100μm
人的体温一般在37度左右,所以会发出特定波长10UM左右的红外线,HC-SR501人体红外传感器就是根据人体辐射出的波长大约在10000nm左右的红外线,从而感应出人体的接近与远离。
人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。下图就是HC-SR501人体红外传感器上的费列尔透镜:
费列尔透镜:
根据菲涅耳原理制成,菲涅耳透镜分为折射式和反射式两种形式,其作用一是聚焦作用,将热释的红外信号折射(反射)在PIR(热释电红外传感器)上;二是将检测区内分为若干个明区和暗区,使进入检测区的移动物体能以温度变化的形式在PIR上产生变化热释红外信号,这样PIR就能产生变化电信号,使热释电人体红外传感器(PIR)灵敏度大大增加。
红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生电信号。
2.3.1.2 技术参数
技术参数 | 模块指标 |
---|---|
使用电压 | DC 5V-20V |
静态电流 | 65微安 |
电平输出 | 高3.3V,低0V |
延时时间 | 可调(0.3秒~18秒) |
封锁时间 | 0.2秒 |
触发方式 | L不可重复,H可重复,默认值为H(跳帽选择) |
感应范围 | 小于120度锥角,7米以内 |
工作温度 | -15~+70度 |
2.3.1.3 触发方式
通过模块上的跳线选择:L不可重复,H可重复。
- 不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
- 可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
下图是跳线位置,图中的跳线选择在:L不可重复。
2.3.1.4 感应时间延迟调节及感应距离调节
时间延迟调节:旋钮形式,用于调节检测到当前红外信号后的延迟时间,感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(默认封锁时间2.5S),调节延时旋钮顺时针旋转,感应延时加长(约300S),反之,感应延时减短(约 0.5S)。
感应距离调节:旋钮形式,用于调节模块的灵敏度,调节旋钮顺时针旋转,感应距离增大(约 7 米),反之,感应距离减小(约 3 米)。
2.3.1.5 光敏控制
HC-SR501模块预留有光敏电阻位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能,出厂时未安装光敏电阻。
2.3.1.6 引脚说明
- VCC:供电 5-20V DC
- 输出引脚:模拟输出
- GND:接地,电源负极
2.3.1.7 安装方式
HC-SR501人体红外传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件:
- 红外线热释电传感器应离地面2.0-2.2米。
- 红外线热释电传感器远离空调, 冰箱,火炉等空气温度变化敏感的地方。
- 红外线热释电传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。
- 红外线热释电传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。红外线热释电传感器也不要安装在有强气流活动的地方。
另外,红外线热释电传感器对人体的敏感程度还和人的运动方向关系很大。热释电红外传感器对于径向移动反应最不敏感,,而对于横切方向 (即与半径垂直的方向)移动则最为敏感. 在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。
3 电路设计
3.1 电路图
根据我们的项目需求,设计电路图如下:
3.2 电路原理
这个电路图比较简单,大家需要注意的还是LED灯的限流电阻。
4 程序设计
4.1 主程序设计
/*
*名称:人体红外感应灯
*功能:
*作者:YXK
*时间:2018.6.6
*/
const int sensorPin = A0; //定义SR501人体红外的引脚
const int ledPin = 10; //定义LED灯的引脚
int sensorValue = 0; //声明传感器数据变量
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin,LOW);
pinMode(sensorPin, INPUT);
}
void loop()
{
sensorValue = analogRead(sensorPin); //读取传感器数据
if(sensorValue > 300){ //判断是否有人接近
digitalWrite(ledPin,HIGH); //点亮LED灯
delay(30000); //延时30秒
digitalWrite(ledPin,LOW); //关闭LED灯
}
}
4 安装调试
由于电路比较简单,我就不上我的最终连接图了,大家按照电路图进行连接,上传程序即可。
5 总结扩展
人体红外传感器HC-SR501其实可以用来创作的空间很大,比如,做一个人体感应报警器,您可以参考本文自己来设计,活学活用!
如果您喜欢本文,您可以点击一下下面的喜欢按钮,您也可以关注我,谢谢您的支持!