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

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

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


1723059-e61245464b2733d1.png
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人体红外传感器

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


1723059-088eb0fdc1e6b35c.png
HC-SR501-03.png

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

1723059-a8dbfbb58f592eb0.png
HC-SR501-04.png

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

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


1723059-fd2366e7e047de16.png
HC-SR501-06.png

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

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

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

1723059-06b01c3d067e79d4.png
HC-SR501-07.png

2.3.1.5 光敏控制

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


1723059-d9618a9c5f0f2d22.png
HC-SR501-08.png

2.3.1.6 引脚说明

1723059-58f20f86e44f2573.png
HC-SR501-05.png
  • VCC:供电 5-20V DC
  • 输出引脚:模拟输出
  • GND:接地,电源负极

2.3.1.7 安装方式

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

  1. 红外线热释电传感器应离地面2.0-2.2米。
  2. 红外线热释电传感器远离空调, 冰箱,火炉等空气温度变化敏感的地方。
  3. 红外线热释电传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。
  4. 红外线热释电传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。红外线热释电传感器也不要安装在有强气流活动的地方。

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

3 电路设计

3.1 电路图

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


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

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

猜你喜欢

转载自blog.csdn.net/weixin_33785108/article/details/87212409