C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch05 C51接口与红外线导航_第1页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch05 C51接口与红外线导航_第2页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch05 C51接口与红外线导航_第3页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch05 C51接口与红外线导航_第4页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch05 C51接口与红外线导航_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第5讲C51接口与红外线导航“十三五”职业教育国家规划教材

工作导向创新实践教材程序设计(第4版)红外前灯在机器人上建立的红外探测系统,在许多方面就像汽车的前灯系统。当汽车前灯射出的光从障碍物反射回来时,人的眼睛就发现了障碍物,然后大脑处理这些信息,并据此控制身体动作驾驶汽车。如图5-1所示。重点本讲的方法是使用红外线来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外线就可以确定前方是否有物体。使用红外线发射和接收器件探测道路

本任务中,我们将搭建并测试红外发射和检测器对,需要用到的新元件如图5-2所示。任务1搭建并测试红外发射和检测器对元件清单元件清单:(1)红外检测器,2个。(2)红外LED(带套筒),2个。(3)470Ω电阻,2个。(4)连接线,若干。搭建红外前灯在电路板的每个角上安装一个IR组(红外LED和检测器)。●断开主板和伺服系统的电源;●搭建如图5-3所示的电路,左、右IR组实际连接如图5-4所示。任务1搭建并测试红外发射和检测器对测试红外发射和检测器对下面要用P13发送持续时间为1ms的38.5kHz的红外光,如果红外光被机器人路径上的物体反射回来,红外检测器将给微控制器发送一个信号,让它知道已经检测到反射回的红外光。让每个IR组工作的关键是发送1ms频率为38.5kHz的红外信号,然后立刻将红外检测器的输出存储到一个变量中。●如果调试终端显示的是预期的值,即没发现物体时显示1,发现物体时显示0,则转到本例程后的“该你了”部分

●如果调试终端显示的不是预期的值,则按照排错部分里的步骤进行排错。任务1搭建并测试红外发射和检测器对例程:TestLeftIrPair.c●

打开教学板的电源;●输入、保存并运行程序TestLeftIrPair.c。●保持机器人与串口电缆的连接,因为你要用调试终端来测试IR组;●在距离左侧IR组2~3cm处放一个物体,如手或一张纸,如图5-1所示;●观察当你放一个物体在IR组前时,调试终端是否会显示“irDetecfLeft=0”;

当你将物体移开时,它是否显示“irDetectLeft=1”,如图5-5所示。任务1搭建并测试红外发射和检测器对排错

●如果调试终端显示的不是预期的值,则检查电路连接和输入的程序是否正确,如发现接错或录入出错,应及时更正;●如果调试终端总是显示0,甚至当没有物体在机器人前面时也显示0,则可能是附近的物体反射了红外线。机器人前面的桌面是常见的反射源。调整IR组的角度,使其不会受桌面等物体的影响。●如果机器人前面没有物体,而调试终端绝大多数时间显示1,但偶尔显示0,则可能是由附近荧光灯的干扰造成的。关掉附近的荧光灯,重新测试。任务1搭建并测试红外发射和检测器对函数延时的不精确性如果你身边有数字示波器,可以检测一下P13口产生的方波频率,你会发现,它的频率并不是38.5kHz,而是比38.5kHz略低。为什么会这样呢?下面介绍一种常用的延时方法,它在实际工程中使用非常广泛。如果你把KeilμVisionIDE安装在了C盘,那么可以在C:ProgramFiles\Keil\C51NINC目录下发现头文件“INTRINS.H”,在这个头文件里声明了空函数nop(void),它能延时1μs。这是在单片机工作于12MHz晶振下计算的,如以下:T=(1/12)×10°s而单片机的操作是用机器周期来计算的,一个机器周期为12个时钟周期,因此t=12×T=1×10⁶s=1μs由于教学板的晶振选用11.0592MHz,故它能产生的延时时间是1.08μs,比1μs有稍许误差。还有很多方法可以实现延时,如使用中断。任务2探测和避开障碍物红外检测的输出与“胡须”检测的输出非常相似,即当没有检测到物体时,输出为高电平;当检测到物体时,输出为低电平。本任务将更改程序RoamingWithWhiskers.c,使它适用于红外线导航。改变“胡须”程序,使它适用于IR检测和机器人躲避任务3高性能的IR导航在每个脉冲信号之间采样以避免碰撞

在检测障碍物时,很重要的一点是在机器人撞到它之前给机器人留有绕开它的空间。如果前方有障碍物,机器人会使用脉冲命令避开它,然后进行探测,如果障碍物还在,则再使用另一个脉冲命令来避开它。其中,语句通常为复合语句,称为循环体。该语句的基本特点是:先执行后判断。因此,循环体至少被执行一次。FastIrRoaming.c是如何工作的任务4俯视的红外发射和检测器对推荐材料●卷装黑色聚氯乙烯绝缘带:19mm(宽度);●一张白色招贴板:56cm×71cm。用材料绝缘带模拟桌子的边沿用绝缘带制作白色招贴板的边框能够模拟桌子的边沿,且对机器人没有危险。如图5-7所示。任务4俯视的红外发射和检测器对编程检测边沿编写程序,使机器人在桌面上行走而不会走到桌边,只要修改程序FastIrRoaming.c中的if…else语句即可。主要的修改是:当irDetectLeft和irDetectRight的值都是0时,表明在桌子表面检测到物体(桌面),机器人向前行走;当某一侧的检测器没有发现物体(桌面)时,机器人就会从另一侧检测器的那边避开,例如,如果irDetectLeft的值是1,则机器人就会向右转。例程:AvoidTableEdge.c●打开程序FastIrRoaming.c并将其另存为AvoidTableEdge.c;●修改程序,使其与下面的例程一致;●打开教学板与伺服电机的电源;●在带绝缘带边框的场地上测试程序。20%30%40%50%如果两个红外检测器都能“看”到桌面,则响应一个向前的脉冲。如果左边

温馨提示

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

评论

0/150

提交评论