Bootstrap

【STM32-HAL库】HC-SR501人体红外传感器与使用(附带工程下载链接)

一、传感器介绍

1、HC - SR501红外人体传感器工作原理

HC - SR501红外人体传感器采用被动红外(PIR)技术,通过比较两个热释电红外传感器接收到的红外辐射差异来判断是否有人体存在。其具体工作过程如下:

  1. 红外感应:模块内部搭载了一个红外传感器,该传感器能够感受到人体所产生的红外线辐射。当有人体进入到模块感应范围时,红外传感器会感知到人体发出的红外线信号。
  2. 信号处理:一旦红外传感器接收到人体发出的红外线信号,模块会将这个信号转换为一个电压信号,并将其传递给信号处理电路。
  3. 信号调节:信号处理电路会对接收到的电压信号进行放大和调节,使其能够被后续电路识别和处理。
  4. 输出控制:经过信号调节后,模块会根据设定的参数和逻辑进行处理。如果检测到人体进入模块感应范围,模块会输出一个高电平信号,表示有人体经过;如果没有检测到人体,模块会输出一个低电平信号,表示没有人体经过。
  5. 延时功能:HC - SR501通常还具有延时功能,可以通过调节模块上的延时电位器来设置延时时间。当模块检测到人体后,会持续输出高电平信号一段时间,然后在设定的延时时间后自动恢复低电平。
  6. 重复触发功能:除了延时功能外,HC - SR501还具有重复触发功能。当模块检测到人体并输出高电平信号后,如果在延时时间段内,有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
  7. 感应封锁时间:感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰(此时间可设置在零点几秒—几十秒钟)。感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出0 - 3次,一分钟后进入待机状态。

2、HC - SR501红外人体传感器应用场景

HC - SR501人体红外感应模块具有极其广泛的应用场景,包括安防系统、智能照明系统、自动化控制系统和智能家居系统等。以下是具体应用场景:

  1. 安防系统:在家庭安防系统中,可以将HC - SR501人体红外感应模块安装在入户门、窗户等位置,当有人进入感应范围时,模块会感应到人体红外信号,并通过与其连接的报警器或相机发出警报或拍摄照片,从而起到报警和监控的作用。
  2. 智能照明系统:通过将模块安装在房间内或门口,当检测到有人进入时,模块会感应到人体的存在并通过与其连接的控制器或继电器控制灯光的开关。这样,不仅可以提供人体舒适的照明环境,还可以节约能源,增加照明系统的智能化程度。
  3. 自动化控制系统:比如在公共场所的自动门或卫生间的自动水龙头中,通过将模块与门禁或水流控制器连接,当有人靠近时,模块会感应到人体的存在并触发开门或自动出水的操作,提高了使用的便利性和卫生性。
  4. 智能家居系统:通过将模块安装在房间内,当检测到有人进入时,模块可以与智能家居系统的其他设备连接,如智能音响、智能遥控器等,实现自动播放音乐、调节温度等功能,提升居家生活的智能化程度和舒适度。

3、模块参数信息

原理图如下:

电气参数如下:

模块使用说明:

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

注意事项:

1、直流工作电压必须符合我们要求的数值,过高和过低都会影响模块性能,而且要求电源必须经过良好的稳压滤波,例如电脑USB电源、手机充电器电源、比较旧的9V的层叠电池都无法满足模块工作要求,建议客户用变压器的电源并经过三端稳压芯片稳压后再通过220UF和0.1UF的电容滤波后供电。

2、调试时人体尽量远离感应区域,有时虽然人体不在块的正前方,但是人体离模块太近时模块也能感应到造成一直有输出,还有调试时人体不要触摸电路部分也会影响模块工作,比较科学的办法是将输出端接一个LED或者是万用表,把模块用报纸盖住,人离开这个房间,等2分钟后看看模块是否还是一直有输出?

3、模块不接负载时能正常工作,接上负载后工作紊乱,一种原因是因为电源容量很小负载比较耗电,负载工作时引起的电压波动导致模块误动作,另一种原因是负载得电工作时会产生干扰,例如继电器或者电磁铁等感性负载会产生反向电动势,315M发射板工作时会有电磁辐射等都会影响模块。解决办法如下:

 A、电源部分加电感滤波。

 B、采用负载和模块使用不同的电压的方法,例如:负载使用24V工作电压,模块使用12V工作电压,其间用三端稳压器隔离。

C:使用更大容量的电源。

4、人体感应模块只能工作在室内并且工作环境应该避免阳光、强烈灯光直接照射,如果工作环境有强大的射频干扰,可以采用屏蔽措施。若遇有强烈气流干扰,关闭门窗或阻止对流。感应区尽量避免正对着发热电器和物体以及容易被风吹动的杂物和衣物。

5、人体感应模块建议安装在密封的盒里,否则可能一直会有输出信号。

6、如果要求人体感应模块的探测角度小于90度时,可以用不透明胶纸遮挡镜片或裁剪缩小镜片来实现。

7、人体感应模块采用双元探头,人体的手脚和头部运动方向与感应灵敏度有着密切的联系,而且红外模块的特性决定了无法精确控制感应距离。

8、模块中的探头(PIR)可以装焊在电路板的另一面,也可将探头用双芯屏蔽线延长,长度应在20厘米以内为好

二、cubeMX配置

1、新建工程

stm32-HAL库+cubeMX新建工程教程系列https://blog.csdn.net/qq_39150957/article/details/143087351?fromshare=blogdetail&sharetype=blogdetail&sharerId=143087351&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_linkicon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/143087351?fromshare=blogdetail&sharetype=blogdetail&sharerId=143087351&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

2、配置GPIO

根据自己需求配置,PA5接人体红外传感器,PA8是LED,PB8是蜂鸣器

三、编写代码

主循环中放入以下代码:

    /* USER CODE BEGIN 3 */
		
		
		if(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_5)==1){
		
			HAL_Delay(200);
			HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);
			HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);
		
		}
		

四、硬件连接

可以看到引脚定义:

引脚连接:

单片机传感器
PA5HC-SR501的OUT引脚
PB5蜂鸣器控制脚

五、效果演示

当手掌没放在传感器面前时,LED不亮

当手掌放在传感器面前,LED亮起且蜂鸣器响

工程下载

提取码:6666icon-default.png?t=O83Ahttps://pan.baidu.com/s/12svJfVoV0OC3YG4Hl5jViQ?pwd=6666

;