资源描述
基于STM32的安卓蓝牙遥控车,项目总结与经验分享,一、成品展示,小车侧面,小车车头特写,安卓手机蓝牙遥控软件BluetoothRC,可通过重力感应控制小车方向,有正倒档、刹车、油门和四个自定义按钮,BluetoothRC是一款功能强大的安卓手机端蓝牙串口助手,功能多样,使用方便。,二、项目规划没规划,一定挂!,规格规划:1、通过蓝牙,实现安卓手机对小车的遥控,小车可实现,加减速,拐弯,鸣笛;遥控器软件界面尽量形象逼真。2、在没有遥控器的情况下,能自主避障行走。3、在跟踪模式下可以实现对近处移动物体的跟踪。4、8*8点阵显示动画,硬件设计:1、CPU:STM32F103C8T62、电机驱动:L298N电机驱动模块3、HYSRF05超声波模块4、BC04B蓝牙模块5、8*8点阵6、车模及充电电池套装7、锁存器HC5738、蜂鸣器、按键、LED指示灯、双面覆铜板、铜柱、螺丝、船型开关、排针9、电路原理图及PCB设计见AltiumDesigner工程,软件设计设计各模块软件驱动,1、UART通信模块2、蓝牙遥控软件BluetoothRC,解码3、电机驱动模块4、超声波驱动模块5、点阵驱动模块6、LED灯,蜂鸣器驱动7、按键驱动总结:各个模块的驱动程序,网上有很多例程可参考,寄存器配置是规定而不是知识。,软件设计各模块软件驱动组合,1、将各个模块驱动程序分类存放,分组管理。2、在主函数中根据自己的软件架构,合理调用各个模块的驱动程序,并加上算法。3、硬件仿真调试,发现问题,解决问题。4、改进算法,完善产品。总结:培养做工程的习惯!,软硬件设计心得与经验,1、各硬件资源的驱动程序模块化,标准化,易移植,为自己积累软件财富,把主要精力放在算法上。2、无论做软件还是硬件,要一个一个模块来,控制变量,减少变量个数,这样才易于发现问题和解决问题,不然,思路会不清晰,出问题无从下手。(结合BluetoothRC应用讲解)3、C语言深度学习:中断函数和主循环调用同一个函数;内联函数;各种易于程移植的宏定义;assert_param检查参数.4、C语言提升技巧:多看代码,多跟踪:F12.,
展开阅读全文