找回密码
 立即注册

QQ登录

只需一步,快速开始

基础模块资料库

基于Arduino使用HC-SR501人体红外感应模块


产品介绍

HC-SR501是基于红外线技术的自动控制模块,采用LH1778探头设计,灵敏度高、可靠性强、低功耗、低电压工作模式。广泛应用与各类自动感应电器设备,尤其是干电池供电的自动控制产品。

22221122.jpg
(HC-SR501人体红外感应模块)


产品参数

  • 工作电压范围:直流电压4.5-20V
  • 静态电流:<50uA
  • 电平输出:高33V/低0V
  • 触发方式:L不可重复触发/H重复触发
  • 延时时间:0.5-200S可调
  • 封锁时间:2.5S(默认)
  • 感应角度:<100度锥角
  • 工作温度:-15°至70°
  • 感应透镜尺寸:直径为23mm(默认)
  • PCB外形尺寸:32.24mm,螺丝孔距28mm,螺丝孔径2mm

功能介绍

1. 这种探头是以探测人体辐射为目标的。所以热释电元件对波长为10UM左右的红外辐射必须非常敏感。
2. 为了仅仅对人体的红外辐射敏感,在它的辐射照面通常覆盖有特殊的菲泥尔滤光片,使环境的干扰受到明显的控制作用。
3. 被动红外探头,其传感器包含两个互相串联或并联的热释电元。而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。
4. 一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,经信号处理而报警。
5. 菲泥尔滤光片根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控视场,视场越多,控制越严密。

使用方法

1.     感应模块通电后有一分钟左右的初始化时间,在此期间模块间隔地输出0-3次,一分钟后进入待机状态。
2.     应尽量避免灯光等干扰源近距离直射模块表面的透镜,以免引进信号产生误动作;使用环境尽量避免流动的风,风也会对感应器造成干扰。
3.     感应模块采用双元探头,探头的窗口为长方形,双元(A元B元)位于较长方向的两端,当人体从左到右或从右到左走过时,红外光谱达到双元的时间、距离有差值,差值越大,感应越灵敏,当人体从正面走向探头或从上到下或从下到上方向走过时,双元检测不到红外光谱距离的变化,无差值,因此感应不灵敏或不工作;所以安装感应器时应使探头双元旦方向与人体活动多的方向尽量相平行,保证人体经过时先后被探头双元所感应。为了增加感应角度范围,本模块采用圆形透镜,也使得探头四面都感应,但左右两侧仍然比上下两个方向感应范围大、灵敏度强,安装时仍须尽量按以上要求。

产品应用

HC-SR501多用于走廊、楼道、卫生间、地下室、仓库、车库等场所的自动照明、排气扇的自动抽风以及其他电器(白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗衣机)特别使用与企业、宾馆、商场、库存敏感区域或安全区域和报警系统,还可以用于防盗等用途。

触发方式

L不可重复,H可重复。可跳线选择,默认为L。
A. 不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
B. 重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。

接线方式

7878787887.png
(HC-SR501人体红外感应模块 反面)
Arduino Uno     <------>   HC-SR501人体红外感应模块
           GND        <------>      GND
                5         <------>    输出信号
            3.3V        <------>      3.3V

程序测试——读取感应到人数值变化

Mixly图形化编程程序

232323.png
(图形化程序)

打开串口监视器,人体红外传感器没有检测到人,输出低电平,即数值为0,感应到了人,输出高电平,数值为1。

454545.png
(串口监视器显示)

程序实现代码

  1. void setup(){
  2.   pinMode(5, INPUT);
  3.   Serial.begin(9600);
  4. }
  5. void loop(){
  6.   Serial.println(digitalRead(5));
  7. }
复制代码

人体红外传感器基础小案例

运用人体红外传感器,制作一个延时灯。当人体红外传感器检测到人,LED绿灯亮起,并且亮5秒,然后熄灭,人体红外传感器如果没有检测到人,LED灯处于熄灭状态。

接线方式
11111414.jpg
(LED模块 正面)

Arduino Uno     <------>   HC-SR501人体红外感应模块
           GND        <------>      GND
                  5       <------>     输出信号
            3.3V        <------>      3.3V
Arduino Nano    <------>   LED模块
             5V          <------>       VCC
           GND         <------>       GND
               6           <------>       IN

Mixly图形化编程程序

LED高电平为亮,低电平为灭。如果人体红外传感器检测到人,输出高电平,LED灯亮5秒,然后熄灭。否则,人体红外传感器没有检测到人,输出低电平,LED灯处于熄灭状态。

678768.png
(图形化程序)

程序实现代码

  1. void setup(){
  2.   pinMode(5, INPUT);
  3.   pinMode(6, OUTPUT);
  4. }
  5. void loop(){
  6.   if (digitalRead(5) == HIGH) {
  7.     digitalWrite(6,HIGH);
  8.     delay(5000);
  9.   } else {
  10.     digitalWrite(6,LOW);
  11.   }
  12. }
复制代码

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册