Arduino 各种模块篇 人体红外感应模块 proximity sensor
我购买的是这个模块:
6.45元/个
先解释一下这个模块的原理:
人体红外线感应模块工作原理
一、红外光谱
人们肉眼看得见的光线叫可见光,可见光的波长为380~750nm。可见光的波长从短到长依次排序是紫光→蓝光→青光→绿光→黄光→橙光→红光。波长比红光更长的光,叫做红外光,或叫做红外线(红外)。红外光是人们无法用肉眼看见的光线。民
部分光线的波长分布如下:
紫光(O.40~0.43μm);蓝光(0.43~0.47μm);青光(O.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~1000μm);红外光又可以分为:
近红外(760~3000nm);中红外(3000~60000rim);远红外(6000~150000nm)。
自然界中任何有温度的物体都会辐射红外线,只不过辐射的红外线波长不同而已。根据实验表明,人体辐射的红外线(能量)波长主要集中在约10000nm左右。根据人体红外线波长的这个特性,如果用一种探测装置,能够探测到人体辐射的红外线而去除不需要的其他光波。
就能实现检测人体活动信息的目的。因此,就出现了探测人体红外线的传感器产品。人体红外线传感器是根据热释电原理制作而成的。
更加详细的说明请参阅:人体红外线感应模块工作原理
此模块详细使用说明下载:http://ishare.iask.sina.com.cn/f/36703137.html
使用说明很详细,4页纸用起来比较简单。
其电路图:
官方的使用说明截屏:http://ishare.iask.sina.com.cn/f/36703137.html
使用方法不难。
只有三个口。
实验效果如下:
把data口接Arduino Pin7
代码;
int proximitySensor = 7; void setup(){ Serial.begin(9600); pinMode(proximitySensor, INPUT); } void loop(){ int value = digitalRead(proximitySensor); if (value == 0) { Serial.println("Not detected :("); } else if (value == 1) { Serial.println("Dectected something :)"); } delay(500); }
得到的结果为:
近距离就能看到Detected something :)
把红外感应器拿开,就看到Nothing Detected :(
这个红外头,根据上头感应范围,可以通过调节上图的两个电位器
1.延时调节
2.距离调节
上面的两个模式调节,L模式,H模式
我收到的模块上不需要自己焊接了。已经有了小跳帽了。
所以跳帽导通上面的两根,可以是L模式,(不可重复触发模式,意思是说在触发一次后,传感器要切断一段时间然后再次进行探测是否有人,这个在感应门上比较好)
用跳帽导通下面的两根,是H模式(可重复触发模式,一直都在检测是否有人,这样会想单片机一直发送0,1 电平,这个不要放在感应门上,否则,你会看到门一直不断的开关,哈哈,这个做人流计数也许有用。不过,这个模块不够灵敏测试人流数,可以结合摄像头与红外传感器联合使用,人体骨架计算与红外摄像头联合使用较好,只是设想一下,哈哈)
上面测试的时候,我是用的H模式,这样看电平变化比较明显。比较容易感觉到红外模块的灵敏度如何。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通