红外线人体感应灯arduino_第五章 自制一盏人体感应灯(人体红外传感器SR501)(Arduino边做边学:从点亮Led到物联网)...

本系列文章为作者原创,未经作者书面同意,不得转载!

现在很多有老人的家庭都会在卫生间安装一种感应灯,当人进入卫生间时,灯就会发光,过一会儿就自动关闭了。这种灯比传统的声控灯要科学一下,尤其晚上,不会打扰到家人,非常方便。

001.png

今天就教大家来制作一盏人体感应灯!

我们还是先来将我们要做的人体感应灯的功能定义一下,做项目嘛,需求要先明确:人体感应灯能够在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人体红外传感器

HC-SR501-01.png

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人体红外传感器上的费列尔透镜:

HC-SR501-03.png

费列尔透镜:

根据菲涅耳原理制成,菲涅耳透镜分为折射式和反射式两种形式,其作用一是聚焦作用,将热释的红外信号折射(反射)在PIR(热释电红外传感器)上;二是将检测区内分为若干个明区和暗区,使进入检测区的移动物体能以温度变化的形式在PIR上产生变化热释红外信号,这样PIR就能产生变化电信号,使热释电人体红外传感器(PIR)灵敏度大大增加。

HC-SR501-04.png

红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生电信号。

HC-SR501-02.png

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不可重复。

HC-SR501-06.png

2.3.1.4 感应时间延迟调节及感应距离调节

时间延迟调节:旋钮形式,用于调节检测到当前红外信号后的延迟时间,感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(默认封锁时间2.5S),调节延时旋钮顺时针旋转,感应延时加长(约300S),反之,感应延时减短(约 0.5S)。

感应距离调节:旋钮形式,用于调节模块的灵敏度,调节旋钮顺时针旋转,感应距离增大(约 7 米),反之,感应距离减小(约 3 米)。

HC-SR501-07.png

2.3.1.5 光敏控制

HC-SR501模块预留有光敏电阻位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能,出厂时未安装光敏电阻。

HC-SR501-08.png

2.3.1.6 引脚说明

HC-SR501-05.png

VCC:供电 5-20V DC

输出引脚:模拟输出

GND:接地,电源负极

2.3.1.7 安装方式

HC-SR501人体红外传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件:

红外线热释电传感器应离地面2.0-2.2米。

红外线热释电传感器远离空调, 冰箱,火炉等空气温度变化敏感的地方。

红外线热释电传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。

红外线热释电传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。红外线热释电传感器也不要安装在有强气流活动的地方。

另外,红外线热释电传感器对人体的敏感程度还和人的运动方向关系很大。热释电红外传感器对于径向移动反应最不敏感,,而对于横切方向 (即与半径垂直的方向)移动则最为敏感. 在现场选择合适的安装位置是避免红外探头误报、求得最佳检测灵敏度极为重要的一环。

3 电路设计

3.1 电路图

根据我们的项目需求,设计电路图如下:

电路图.png

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其实可以用来创作的空间很大,比如,做一个人体感应报警器,您可以参考本文自己来设计,活学活用!

如果您喜欢本文,您可以点击一下下面的喜欢按钮,您也可以关注我,谢谢您的支持!

你可能感兴趣的:(红外线人体感应灯arduino)