第十四讲 红外线导航.ppt_第1页
第十四讲 红外线导航.ppt_第2页
第十四讲 红外线导航.ppt_第3页
第十四讲 红外线导航.ppt_第4页
第十四讲 红外线导航.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用红外线前灯探测道路,宝贝车机器人使用红外线两极管LED作为前灯,他们发射红外光,在一些情况下,红外线从物体反射从机器人前进的方向折回。宝贝车机器人的眼睛是红外检测器。红外检测器发出信号来表明它们是否检测到从物体反射回的红外线。宝贝车机器人的大脑,MCS-51微控制器据此做出判断并基于这个传感器的输入控制伺服电机。,红外检测器,IR(红外线)检测器有内置的光滤波器,除了需要我们用它的内部的光敏二极管传感器检测的980nm红外线,它几乎不允许其它光通过。红外检测器也有一个电子滤波器,它只允许大约38.5kHz的信号通过。换句话说,检测器只寻找每秒闪烁38,500次的红外光。,任务一:搭建并测试IR发射和探测器对,元件清单:(1)两个红外检测器(2)两个IRLEDs(3)两对IRLED套管(4)两个220电阻(红-红-棕)(5)两个1k电阻(棕-黑-红),测试红外发射探测器,本任务中,你要用P1_4发送持续1秒的38.5kHz的红外光,如果红外光被小车路径上的物体反射回来,红外检测器将给微控制器发送一个信号,让它知道已经检测到反射回的红外光,发送1ms频率为38.5kHz的红外信号for(counter=0;counter38;counter+)P1_4=1;delay_nus(13);P1_4=0;delay_nus(13);irDetectLeft=P1_5state();,当没有IR信号返回时,探测器的输出状态为高。当它探测到被物体反射的38500Hz和声时,它的输出为低。当发送红外信号后,IR探测器的输出处于低状态不到1毫秒,因此当发送完后立即将IR探测器的输出存储到变量中是很重要的。这些存储的值会显示在调试终端或被机器人用来导航。,例程:TestLeftIrPair.c,#include#includeintP1_5state(void)return(P1,while(1)for(counter=0;counter38;counter+)P1_4=1;delay_nus(13);P1_4=0;delay_nus(13);irDetectLeft=P1_5state();printf(irDetectLeft=%dn,irDetectLeft);delay_nms(100);,验证当你放一个物体在IR组前时,调试终端是否会显示0,当你将物体移开时,它是否显示1。,任务二:物体检测和红外干涉的实地测试,元件清单:(1)两个红色LED(2)两个220电阻(红-红-棕),for(i=0;i1;i+);这是一个for空操作语句,它什么也不做,但能产生延时。我们可以用示波器测量,它能产生约12us延时。,例程TestIrPairsAndIndicators.c,#include#includeintP1_5state(void)return(P1,while(1)for(counter=0;counter125;counter+)P1_4=1;P3_5=0;for(i=0;i1;i+);P1_4=0;P3_5=0;for(i=0;i1;i+);/延时1ms左右,irDetectLeft=P1_5state();irDetectRight=P3_6state();if(irDetectLeft=0)P1_2=1;elseP1_2=0;if(irDetectRight=0)P3_4=1;elseP3_4=0;delay_nms(100);,验证当检测器检测到物体时,每个检测器旁的LED是否会发光。,该你了远程测试和范围测试拔掉连接在宝贝车机器人上的串口电缆,将其放到几个不同的物体之前,以测试IR探测器的范围。测试对不同颜色物体的探测范围,对什么颜色的物体探测的范围最远,什么颜色的物体探测的范围最近?,任务三:红外检测范围调整,任务三:红外检测范围调整,更小的电阻使通过LED的电流更多。更多的电流使LED更亮。本任务中,你将检测LED和IRLED串不同电阻值的效果。,元件清单:本节中需要一些特殊的部件:(1)两个470电阻(黄-紫-棕)(2)两个220电阻(红-红-棕)(3)两个2k电阻(红-黑-红)(4)两个4.7k电阻(黄-紫-红),该你了测试LED亮度观察电路中用220电阻时,连接到P2_3的LED的亮度。用470电阻代替连接P2_3和右边LED阴极的220电阻。注意观察现在LED的亮度。用2k电阻代替。用4.7k电阻代替。,该你了测试IRLED的范围用1k的电阻替代原电阻。用一个尺子测量离IRLED最远的可以探测到面对IRLED的一张纸的距离,在表7-2中记录测量数据。用4.7k的电阻代替连接P1_4到IRLED阳极的1k电阻。确定能够检测到同一张纸的最远距离,记录数据。用2k电阻代替。用470电阻代替。用220的电阻代替。,表7-2检测距离与电阻的关系IRLED电阻()最远检测距离470020001000470220,任务四:探测和避开障碍物,if(irDetectLeft=0),例程RoamingWithIr.c,#include#include#include#defineLeftIRP1_5/左边红外接收连接到P15#defineRightIRP3_6/右边红外接收连接到P36#defineLeftLaunchP1_4/左边红外发射连接到P14#defineRightLaunchP3_5/右边红外发射连接到P35intIRLaunch(unsignedcharIR)unsignedintcounter;if(IR=L)for(counter=0;counter1000;counter+),LeftLaunch=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();LeftLaunch=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();,elsefor(counter=0;counter1000;counter+)/右边发射RightLaunch=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();RightLaunch=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();,voidForward(void)/向前行走子程序P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);,voidLeft_Turn(void)/左转子程序inti;for(i=1;i=26;i+)P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);,voidRight_Turn(void)/右转子程序inti;for(i=1;i=26;i+)P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);,voidBackward(void)/向后行走子程序inti;for(i=1;i=65;i+)P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);,intmain(void)bitirDetectLeft,irDetectRight;inti,counter;while(1)IRLaunch(R);irDetectRight=RightIR;/右边接收IRLaunch(L);irDetectLeft=LeftIR;/左边接收,if(irDetectLeft=0),在每个脉冲之间采样以避免碰撞,这个程序使用稍微不同的方法来使用驱动脉冲。除了两个存储IR检测器输出的状态以外,它还使用两个16位的无符号数变量来设置发送的脉冲持续时间。bitirDetectLeft;bitirDetectRight;pulseLeft;pulseRight;在while循环中,发送38.5kHz的IR信号给每个IRLED。当1ms脉冲被发送后,变量立即存储IR检测器的输出状态。这是很有必要的,因为如果你等待的时间太长,无论是否发现物体,将返回没有探测到物体的状态0。,在ifelse语句中,程序不是发送脉冲或调用导航程序而是设置发送的脉冲持续时间。,if(irDetectLeft=0),elseif(irDetectRight=0)pul

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论