arduino内置红外传感器示例(五分钟全面了解数字红外避障传感器)
arduino内置红外传感器示例(五分钟全面了解数字红外避障传感器)引线长度:45cm传感器长度:45mm它是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出。有效地避免了可见光的干扰。透镜的使用,也使得这款传感器最远可以检测80厘米距离(由于红外光的特性,不同颜色的物体,能探测的最大距离也有不同;白色物体最远,黑色物体最近)。检测障碍物的距离可以根据要求通过尾部的电位器旋钮进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等场合。直径:17mm
数字红外避障传感器是一个数字输入模块,它的型号为:E18-D80NK,它又叫接近开关、红外开关、光电开关。
图1:E18-D80NK数字红外避障传感器
一、课前准备学习本节课请准备Arduino UNO主板1块、扩展板1块、红外避障传感器1个、USB方口数据线1根、Scratch(AS-Block V3.2.4)、Mixly(米思齐,V0.998)、Arduino IDE(集成开发环境,Integrated DevelopmentEnvironment ,V1.8.5)软件。
图2:课前需要准备的物品及编程软件
二、数字红外避障传感器简介它是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出。有效地避免了可见光的干扰。透镜的使用,也使得这款传感器最远可以检测80厘米距离(由于红外光的特性,不同颜色的物体,能探测的最大距离也有不同;白色物体最远,黑色物体最近)。
检测障碍物的距离可以根据要求通过尾部的电位器旋钮进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点,可以广泛应用于机器人避障、流水线计件等场合。
三、数字红外避障传感器外形尺寸直径:17mm
传感器长度:45mm
引线长度:45cm
四、数字红外避障传感器电气特性输入电压:5V DC(直流电源)
负载电流:100mA
测量范围:3-80cm 但是请你注意本产品并非精密传感器,所以测量范围有误差。
五、数字红外避障传感器接口说明把红外避障传感器连接到扩展板3号数字管脚
图3:传感器与扩展板连接图
1、蓝色 负极 和 扩展板G连接
2、棕色 正极 和 扩展板V连接
3、黑色 数字信号输出接口(输出0和1) 和 扩展板S连接
注意:正负极不能反接,会烧坏传感器。
六、获取数字红外避障传感器返回值不管是AS-Block还是Mixly、Arduino IDE,获取数字红外避障传感器的返回值都很简单,只需要使用数字输入模块即可,难的是如何和其他传感器以及输出设备综合起来应用,并且解决生活、学习中的实际问题,这点以后再和你交流,具体获取方法请点击观看视频:点击观看红外避障传感器程序设计视频教程
七、数字红外避障传感器使用疑难解答问:这是数字传感器还是模拟传感器?
答:这是数字传感器,NPN常开型光电开关;输出状态是0 1,即数字电路中的低电平和高电平,正常状态输出高电平,检测到目标输出低电平。
问:能否接到单片机IO口上?
答:可以直接接单片机IO口上使用。
问:如果加上拉电阻阻值为多少?
答:加上拉电阻阻值一般在10K左右;
问:为什么接上电源后,指示灯一直亮?
答:首先要保证电源是稳定的5V±2%,其次探头输出端不能接单片机输出口;
问:为什么接上红外开关电源后,指示灯一直亮?
答:1,请检查电源有没有接反,即红外输出接到电源正;2,请检查探头所对方向探测范围内有没有障碍物,最好对着空旷的方向。
八、数字红外避障传感器知识拓展1、onewire(单总线)
onewire(单总线)是DALLAS公司推出的外围串行扩展总线技术总线,顾名思义,它是采用一根信号线进行通信,既传输时钟信号又传输数据,而且能够进行双向通信,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。常用到单总线的器件,一般是稳定传感器、EEPROM、唯一序列号芯片等,如DS18B20、DS2431。
在使用单总线时,往往很少CPU会提供硬件单总线,几乎都是根据单总线标准的时序图,通过普通IO翻转模拟实现单总线。而在模式实现时序图的过程中,需要根据CPU时钟频率等条件进行时序时间计算,如果更换CPU后,需要重新计算时序时间,如果时序代码和器件外设控制代码集成在一起,则代码改动比较大。或者同一CPU需要模拟多根单总线时,传统的“复制”方式使得程序显得累赘,还增加ROM占用空间。因此,可以利用“函数指针”的方式,将时序部分抽象出来,达到“复用”代码的效果。
2、上拉电阻、下拉电阻
在数字逻辑电路中,一个信号不是0,就是1。正是因为这样,数字电路的设计才简单,可靠。通常,用电压5v(或者接近5V)代表 on 开状态,代表高电平,对应状态 1。用电压0v (或者接近0v)代表off关状态,代表低电平,对应状态0。有些开发板是基于3 3V的,因此使用3.3V作为高电平。如果一个线路中的电压处于不确定的状态(例如一个引脚不和任何其它回路连通时),那我们就说它的电压是浮动的,他会随着时间不断变化,跳动,而且很容易受到外界环境的影响。处于这种不确定状态的电路会被随机解释为高或者低电平。 这种现象也叫电子噪声。然而程序必须是严格准确的,所以电路的设计一定要避免线路电压处于浮动状态。我们可以使用上拉电阻或者下拉电阻将电路的电压在任何时候都保持在确定的状态下,这就是上拉电阻和下拉电阻的作用。
下拉电阻作用:将一个未知的电平拉低到稳定的低电平状态。
上拉电阻作用:将一个未知的电平拉高到稳定的高电平状态。
九、结束语数字红外避障传感器上手比较简单,唯一就是需要根据尾部的电位器旋钮进行调节距离,从而实现有、无障碍物的判断。
如果根据数字红外避障传感器的返回值使用条件语句来设计应用,请注意程序执行的效率,常规的思路是“如果......那么.....否则......”,而根据我的观察应该不是这样,具体请参见我的另一篇文章Arduino疑惑┃传感器条件语句程序效率探究,期待能和你一起验证。
初始化工作室重点关注“乐高、Scratch、Arduino的学习与创意以及STEAM教育的实施”,如果需要更多相关课程,请点击“关注”按钮关注我,谢谢。