一、 设计任务
a.熟悉机器人的构造及组成,实现机器人按指令行走(前进,左转,右转,匀加速,匀减速,停止等)
b.通过红外传感器触发,实现每次触发的时候运行状态的改变
c.通过超声波传感器测量距离,并且能够串口观察测量数据
d.根据超声波测量距离的不同实现运行状态的转换
e.利用红外传感器作为触发开关,利用超声波传感器测距,最终控制机器人在规划的场地内避开障碍物走遍整个场地。
二、模块使用
1.红外模块
模块接口说明:
(1)VCC 外接 3.3V-5V 电压(可以直接与 5v 单片机和 3.3v 单片机相连)
(2)GND 外接 GND
(3)OUT 小板数字量输出接口(0 和 1)
2.超声波(HC-SR04)
工作原理:
(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
(4)本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此不断的周期测,即可以达到你移动测量的值
3.行走机构为360度舵机
三、代码
#include <intrins.h>
#include<BoeBot.h>
#include<uart.h>
#define u