学习了一学期的AVR单片机,临近期末结合课程所学做一辆基于AVR的遥控小车,以用促学,并巩固已学知识。
更新:"√"表示已完成。"×"表示已取消。
一、规划
-
小车功能(暂定)
小车启动前,通过OLED屏幕调整参数,调整完成后蜂鸣器播放一小段提示音乐,提示小车进入启动模式。
在启动模式下,通过手柄控制小车的前后行驶,以及左转右转。(√)
当小车碰撞到墙壁时,蜂鸣器高鸣一声,提示撞到障碍物,此时禁用前进操作。
小车启动模式下,全程计时,并把时间打在8段数码管上。(√) -
内容规划以及涉及到的知识
直流电机转动 - 驱动小车跑动 —— PWM产生(√)
碰撞开关触发 - 检测小车碰撞 —— GPIO、外部中断服务程序
驱动八段数码管 - 显示运行时间 ——定时中断(√)
蜂鸣器 - 跑动时唱歌 —— PWM
OLED屏幕 - 调试窗口 —— SPI总线通讯
按键 - 操作OLED屏 —— AD按键(×)
按键 - 操作OLED屏 —— Joystick按键(新增)
遥控模块 - 远程遥控小车 —— 蓝牙通讯(√)
LED灯 - 左右转提示 - GPIO -
待考虑
是否去掉调参阶段,直接用OLED屏来显示内容,左转显示左转,右转显示右转,因为按键要自己接,有些麻烦。(×)
若使用手柄操控,可以需要加一个UNO来承接,进而发送数据给AVR板,这样就会涉及到板间通讯。(√)
二、采购
- 小车模型
两轮智能小车底盘/机器人/寻迹小车/壁障/套件/带码盘/带减速电机 - AVR单片机最小板
中控系统板 - L298N 双H桥电机驱动模块
由于要通过调整PWM来控制车轮转速,故使用双H桥来实现 - 11.7V航模电池
电机需要较大的驱动电压,而且L298N模块也需要12V的电压接口 - JoyStick Shield游戏手柄拓展板 && 蓝牙模块
通过手柄控制小车前进方向 - TM1637 4位数码管
用来显示运行时间 - 无源蜂鸣器
- OLED屏
网友评论