v1.0可编辑可修改
语言程序设计实训报告
题
目:
红外避障机器人
院
(系):
信息工程系
专
业:
通信工程
学生姓名:
韦嘉宝
学
号:
24
指导教师:
朱震 周斌 王旬 全刘辉
11
v1.0可编辑可修改
2016年 10月8日
目录
摘要 ????????????????????1
设计要求 ?????????????????2
设计步骤 ?????????????????3
代码编写 ?????????????????4
心得体会 ?????????????????5
参考文献 ·????????????????6
许多机器人使用雷达(RADAR)或者声纳( SONAR)来探测物体而不需要同物体接触。本文
的方法是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回
22
v1.0可编辑可修改
来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现
在红外线发射器和接收器已经很普及并且价格很便宜。
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯
片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D 转换器、
D/A 转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控
制系统。 这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制
造出具有某些特殊功能的简易智能小车。
机器人使用红外线二极管LED 作为前灯, 如图 6-1所示。 红外线二极管发射红外光线,
如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)
器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的
大脑——单片机AT89S52 基于这个传感器的输入控制伺服电机。红外线( IR )接收 / 检测
器有内置的光滤波器,除了需要检测的980 nm 波长的红外线外, 它几乎不允许其他光通过。
红外检测器还有一个电子滤波器,它只允许大约kHz的电信号通过。换句话说,检测器
只寻找每秒闪烁38500次的红外光。这就防止了普通光源像太阳光和室内光对IR的干
涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100
Hz 或 120 Hz 。由于 120 Hz在电子滤波器的kHz通带频率之外,它完全被 IR探测器
忽略。
本任务将搭建并测试红外线发射和检测器对。本讲需要用到的新部件如下:
元件清单
1)红外检测器, 2 个。
2) IR LED (带套筒), 2 个。
33
v1.0可编辑可修改
3) 470? 电阻, 2 个。
4)连接线,若干。
二、设计要求
1)小车能够完成前进、后退、左转、右转等动作。
2)机器人能够读出传感器电平变化,并作相应的动作变化。
3)利用机器人所装配的两个探测器,探测和避开障碍物。
三、设计步骤
测试红外发射探测器
下面要用P1_3 发送持续1ms 的的红外光,如果红外光被机器人路径上的物体反射回
来,红外检测器将给微控制器发送一个信号,让它知道已经检测到反射回的红外光。
让每个 IR LED 探测器组工作的关键是发送1ms频率为的红外信号,然后立刻将IR 探测
器的输出存储到一个变量中。下面是一个例子,它发送kHz信号给连接到P1_3 的 IR 发射
器,然后用整型变量irDetectLeft存储连接到P1_2 的 IR 探测器的输出上。
for(counter=0;counter<38;counter++)
{
44
v1.0可编辑可修改
P1_3=1;
delay_nus(13);
P1_3=0;
delay_nus(13);
}
irDetectLeft=P1_2state();
上述代码给P1_3输出的信号高电平13μ s,低电平为13μs,总周期为26μ s,即频率约
为。总共输出38 个周期的信号,即持续时间约为1ms( 38× 26≈ 1000μ s)。
当没有红外信号返回时,探测器的输出状态为高电平。当它探测到被物体反射的红外信号时,
它的输出为低电平。因红外信号发送的持续时间为1ms,因此 IR 探测器的输出如果处于低
电平,其持续状态也不会超过1ms,因此发送完信号后必须立即将IR 探测器的输出存储到
变量中。这些存储的值会显示在调试终端或被机器人用来导航。
保持机器人与串口电缆的连接,因为需用调试终端来测试IR组。放一个物体,比如手或
一张纸,距离左侧IR组大约 2 ~ 3cm 处,调试终端会显示“