HC-SR501人体红外传感器怎么接线?Arduino检测人体感应自动开门报警的设置方法

2026-10-18 20:31:26 33阅读

想让设备知道“有人走过来了”,最便宜省事的就是HC-SR501人体红外传感器。它靠感知人体散发的红外辐射来触发,不需要主动发射,静态功耗低,被广泛用在自动门、感应灯、安防报警和迎宾机器人上。这篇讲它怎么接、两个旋钮怎么调、代码怎么写。

HC-SR501引脚和接线

模块三个脚:VCC接5V、GND接地、OUT是数字输出,接Arduino任何一个数字脚(比如D2)。它内部是BISS0001红外热释电处理芯片加一个菲涅尔透镜,人一进入感应范围,OUT立刻输出高电平。感应距离大约3到7米,镜面朝向你要监测的方向。

接线图上红-电源、黑-地、黄-输出,一插就好。接完先别急着写判断逻辑,给它上电后等个30到60秒——初次上电内部在自检预热,这段时间输出可能乱跳,属正常,别以为是坏了。

板上两个旋钮和一个跳线是干嘛的

模块背面有两个蓝色电位器和一组跳线。一个旋钮调节“感应距离”(灵敏度),一个旋钮调“维持时间”,把触发后的高电平保持默认几秒到300秒调好。跳线帽用来选触发模式:跳线在H(可重复触发)时,只要人一直在感应区就始终保持高电平;拔掉跳到L(单次触发),人离开或触发一次后就回到低电平,适合做“进来一次计一次”的计数应用。

这个接法把它和蜂鸣器搭在一起做报警:人一进感应范围,PIR输出高电平,Arduino读到就让蜂鸣器响。类似的把“响”换成“开灯”“开门”的继电器或电机,就是一套现成的感应控制系统。

读传感器的代码示例

代码核心就两行——pinMode设为输入,循环里digitalRead判断高低。读到HIGH就是检测到人体,做相应的动作;读到LOW就是没人。要注意把初始60秒的自检延时放进setup,再用一点去抖逻辑,避免边缘状态误触发。做人体感应项目,HC-SR501性价比极高,懂这三样(接线、双旋钮、触发模式)就能应付绝大多数场景。


作者:开源复现员
链接:https://www.aiddithome.com/p/aab21e75d884b.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
调参到凌晨
1楼 · 2026-10-18 20:31:28

拿来做晚上自动开灯好使,人一进范围就触发,功耗也低

只看不说话
2楼 · 2026-10-18 20:31:27

跳线帽拨L是单次触发,做计数器正好;拨H人一直在感应区就保持高电平

参数党小马
3楼 · 2026-10-18 20:31:27

感应距离和维持时间两个旋钮多调几圈,装好角度再精调才准

天快亮了
4楼 · 2026-10-18 20:31:26

上电那30-60秒自检一定先等完,不然输出乱跳误报警,别急着测