声明:该设计资料转自lb8820265网友分享,仅供学习参考,不可用于商业用途。
手机遥控蓝牙平衡小车概述:
蓝牙平衡玩具小车,具有的功能有:手机APP虚拟遥感控制模式,自动行走避障模式,碰撞自动后退,倒下自动停止,预警模式,跳舞模式,说话,语音表情,压强播报,温度播报,湿度播报,前方障碍物距离播报,PC上位机无线调参,示波器显示,3D姿态显示。是集趣味性,智能性,易操作性,可研究性于一体的蓝牙平衡小车。
视频演示:
采用的硬件如下:
- 处理器: Nucleo STM32F411核心板
- 传感器模块: Nucleo IKS01A1(包括陀螺仪,加速度计,磁力计,温度计,湿度计,压强计)
- 蓝牙模块: CC2541 蓝牙4.0模块
- 无线模块: NRF24L01+模块
- 电机驱动模块: BT6612模块
- 测距模块: 夏普2Y0A21红外测距模块
- 舵机: SG90模拟舵机
- 语音模块: SYN6658语音模块
- 电池: 狮子11.1V 2200mAh
- 电源: LM2596电源模块
- 电机: 诗凯支架自带,3530直流减速电机
- 光电编码器: 电机自带,13440线每轮转,AB相输出
- 手机: 魅族MX3
- 上位机接收端: MSP430G2553核心板
- 电脑: 这个随意
整个系统的硬件拆解图图下图所示:
整个系统可大致分为4个部分,分别是:小车部分,上位机接收机,PC上位机,安卓手机控制端。
4个部分的关系如下图所示:
其中以平衡小车为中心,能将信息通过无线发送给上位机接收端,上位机接收端再将数据通过串口的形式发送给PC上位机。同时上位机亦可以发送调参与控制指令给上位机接收端,上位机接收端再将信息发送给平衡小车。安卓APP也能通过蓝牙传输信息给CC2541模块,将信息通过串口的形式发送给平衡小车进行控制。
编写的软件如下:
- 小车: 采用IAR7.3编写
- 上位机接收端: 采用CCS5.1编写
- 上位机: 采用VC6.0 MFC编写
- 手机APP: 采用Android studio 1.2.2编写
手机APP
之前的帖子已经讲了,如何实现蓝牙4.0的收发,那么接下来就是通信协议的制定与界面的编辑了,
下图是手机APP的截图:
PC上位机端
上位机采用VC6.0编写,PC上位机主要是用来进行参数调整、虚拟示波器显示波形、3D姿态显示。下图是上位机截图。采用MSComm串口控件进行数据的发送与接收。能够进行端口扫描,并连接串口,实现数据发送,错误显示,实现了4个整形数字与4个浮点数的调整,并且能够读取系统的原始数据,显示发送状态,且能够显示信号强弱,同时能够进行示波器显示,调节显示间隔。
由于采用的是NRF24L01+带数据的ACK模式进行数据传输,所以上位机不发送数据的时候,小车并不会发送回来,所以上位机能够掌握显示数据的间隔。示波器采用的IPlot控件,能够实现4个数据波形显示,且能够让任意一组数据显示、实现轴的缩放、在顶端显示数值。3D姿态显示采用的是OpenGL库,画出小车模型,设置为半透明,能实时清晰的显示小车的姿态。
PC上位机示波器显示紧挨着3D姿态显示亲热照!
蓝牙平衡玩具小车全家福!