我购买的是这个模块:
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模式,这样看电平变化比较明显。比较容易感觉到红外模块的灵敏度如何。