完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
工作电压:DC 3.3V~5V
工作电流:尽量选择1A以上电源供电 工作温度:-10℃~+50℃ 安装孔径:M3螺丝 检测距离:1mm~30cm可调,距离越近2性能越稳定,白色反射距离远 尺寸大小:中控板42mmX38mmX12mm(长X宽X高);小板向前25mmX12mmX12mm(长X宽X高) 输出接口:6线制接口(1、2、3、4为4路信号输出端,VCC接正电源,GND接GND) 输出信号:TTL电平,可直接连接单片机IO口,感应到传感器反射回来的红外光时,红指示灯亮,输出低电平;没有红外光时,指示灯不亮,输出高电平。 模块接线 主控板左侧分别为,VCC、GND、OUT1、OUT2、OUT3、OUT4,其中OUT1、2、3、4分别连接单片机的IO口,用于检测输出电平。主控板右侧分别与四个小板连接,用于采集信息。 模块使用 模块正确连接并通电后,小板传感器开始工作。模块感应到传感器反射回来的红外光时,红指示灯亮,输出低电平;没有红外光时,指示灯不亮,输出高电平。以检测黑线为例,如果传感器检测到黑线,红外光无法反射回来则模块红指示灯熄灭,同时小板对应的OUT口输出高电平;如果未检测到黑线,红外光可以反射回来则模块红指示灯亮,小板对应的OUT口输出低电平。其中需要注意一种特殊情况,也就是说当测量物体超出测量范围时,此时红指示灯熄灭,OUT口输出高电平。 每个小板前面对应的电位器可以用来调整使用精度。 相关代码 #include "headfile.h" /* * OUT1 P27 * OUT2 P26 * OUT3 P25 * OUT4 P24 * 检测到黑线或悬空LED灭,输出高电平 */ void main() { DisableGlobalIRQ(); //关闭总中断 board_init(); //初始化寄存器 //总中断最后开启 EnableGlobalIRQ(); //开启总中断 while(1) { // 判断IO口电平状态 if (P27 == 1) { printf("OUT1 NOrn"); } if (P26 == 1) { printf("OUT2 NOrn"); } if (P25 == 1) { printf("OUT3 NOrn"); } if (P24 == 1) { printf("OUT4 NOrn"); } if ((P27 == 0)&&(P26 == 0)&&(P25 == 0)&&(P24 == 0)) { printf("OFFrn"); } } } 代码是比较简单的,就是判断单片机IO口状态。如果IO口是高电平则表示传感器检测到黑线,否则没有检测到黑线。理解了这个原理就可以在其他型号的单片机上使用这个模块。 |
|
|
|
只有小组成员才能发言,加入小组>>
2497 浏览 0 评论
1061浏览 2评论
680浏览 1评论
442浏览 0评论
176浏览 0评论
294浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 18:35 , Processed in 1.208955 second(s), Total 50, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号