爱点网

I Click Web.Com

人体红外传感器 HC-SR501 检测不稳定解决办法和范例

这里我说一下我测试人体红外的经验,以下会有一些关键册:感应封锁时间、延时时间、感应距离、L不可重复触发、H可重复触发 如果这些关键词不明白什么意思,请跳转到 -> HC-SR501原理设置讲解

我先简单说下,当检测到人的时候,输出的是高电平(3.3V),我们在使用的时候,供电一定要5V供电,如果是3.3V会检测不稳定,出现乱跳的反应,这个在上方连接处也有说明工作电压。

需要注意的一点

(目前我只测试了我自己买的人体红外,所以这一点有可能是我这的模块比较特殊)

我再测试过程中,L模式和H模式下,当我整个人保持不动的时候,就相当于人体红外没有检测到我,只有我动起来,人体红外才会检测到我。所以,当你在使用这个模块的时候,尽量保持一个挥手的动作,否则,你停下来他就会当作没人来处理。

另外,一定要注意感应封锁时间。在网上查找到的资料中来看,他们都说感应封锁时间默认是2.5秒,但是这个也要根据不同的生产方来决定的,比如我现在手上的这款,他的感应封锁时间就有6秒左右。感应封锁的时间就是当模块没有感应到人,转换成低电平后,感应封锁时间内感应到人也不会有任何反应。封锁时间过了以后就是正常的感应了,所以不要以为是模块不稳定之类的。

还有就是关于延时时间的,简单说下,延时时间就是检测到人后,高电平的持续时间是多久。

这个延时时间调节的范围在网上查找到的资料是0.5s-200s,但是我这边买的模块,最低延时时间是9秒(还是碰运气调出来的,如果有人可以告诉我还能怎么缩小,或者哪家模块好请留言给我),如果再想调小,就只有1s以内了,没办法调节成5秒或者6秒。

解决人体红外获取不稳定的方法

其实这个方法也没不是最理想的,但是至少算是一种方法。

方法一:

在L不可重复模式下(这个模式是什么一定要懂,否则下面的你看不懂),因为这个模式是检测到人就变成高电平,持续时间是你通过滑动变阻器设置的延时时间,当这个延时时间过了,不管有没有检测到人,都会立马变成低电平,低电平期间的感应封锁时间是不做任何感应的,当封锁时间过了才开始去检测是否有人。所以在这种模式下,我推荐的方法是,当模块输出高电平(检测到人)那么就算是有人,当模块输出高低电平时,并不代表现在就是没人,你需要低电平持续输出一段时间才能定位成没人,低电平持续时间 = 感应封锁时间+三四秒(你所能接受的一个浮动值)。

方法二:

在H可重复模式下,尽量把你能设置的延时时间设置小一点,我的模块就只能设置个9秒,最好是不要把这个延时时间小于感应封锁时间(这一点只是我自己的感觉)。因为这个模式是可重复的,意思就是,你只要在高电平持续的时间内(就是延时时间内),检测到有人,那么就会重新计时,如果延时时间结束还没有检测到人,那么就会变成低电平。这种方法不需要什么代码的逻辑,只需要高低电平判断就可以了,但是根据每个人买的人体红外的生产区别,这个延时时间的设置可能不会太完美。例如我的模块,需要在人走开后9秒多一点才会变成低电平,这样会没有实时性,只有检测人的时候能立马变成高电平。但是我是比较喜欢这个方法的。

最后附上我的人体红外的图片

《人体红外传感器 HC-SR501 检测不稳定解决办法和范例》
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注