一、设计任务
1.循迹功能
通过核心板、驱动板、结构组件及相应模块实现小车的寻迹功能,要求小车轨迹流畅,行驶速度较快。
2.避障功能
实现小车在寻迹过程中躲避障碍后返回轨道并在数码管上显示障碍物的数量,行驶至终点。
3.无线通信功能
通过射频模块实现对小车的遥控;通过射频模块实现两辆小车同步运动或接力寻迹。
二、任务分解及设计思路
3-1
红外模块:
(1)设定全局变量R、L,将input1、input2输入IO口的数值分别赋值R,L
(2)使用if语句,当单片机检测到R=1的时候P0^0灯亮,R=0的时候灯灭; L=1的时候P0^1灯亮,L=0的时候对应灯灭。
(3)当灯闪烁感应没有问题后,检测到R,L后将状态更新为对电机IO口输入高低电平,以此来控制小车的移动。
3-2
超声波模块:
(1)调整定时器,使用超声波发送频率的时候打开定时器,接收到超声波的时候关闭定时器
(2)通过定时器开启的时间所产生的高八位和低八位计算出超声波到物体再从物体返回的时间
(3)通过所用时间即可计算出超声波模块到物体的距离,设置距离小于 一定数值时,输出高电平给电机,使小车右转,即可完成避障
TM1650数码管模块: (1)了解如何输入0码和1码,传输的格式,模式的选择
(2)进行TM1650初始化,尝试点亮一位数码管中的一段
(3)与变量进行匹配,当遇到障碍物的时候数码管显数+1
3-3
NRF24L01: (1)尝试进行通信,使主从机可以进行小灯模拟通信
(2)将通信函数进行封装,进行小车运动信息的主从收发
设计中解决的关键问题(包括:任务涉及的知识点、技术难点、解决的关键问题和创新点等)
3-1.循迹功能
通过核心板、驱动板、结构组件及相应模块实现小车的寻迹功能,要求小车轨迹流畅,行驶速度较快。
(1)采用IO口TRIG触发测距,给最少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。
通过超声波发送到接收的时间可以计算出超声波模块到物体的距离(其中超声波经过了的距离为模块到物体距离的两倍)。
TM1650数码管模块:
二输入口控制8口输出,通过以下方式进行启动、停止、ack确认8位一组的数码发送、发送1码、发送0码。再通过显存地址命令即可对数码管进行位选。