是德科技创新测量工具,开启毫米波测量新视野

支持USB Type-C™标准,实现100W大功率供电控制

ROHM新款USBPD评估板带来基础设施的新变革

手机遥控蓝牙平衡小车V1资料全部开源

  • 手机遥控蓝牙平衡小车V1资料全部开源
  • 手机遥控蓝牙平衡小车V1资料全部开源
  • 手机遥控蓝牙平衡小车V1资料全部开源
  • 手机遥控蓝牙平衡小车V1资料全部开源
  • 手机遥控蓝牙平衡小车V1资料全部开源

手机遥控蓝牙平衡小车V1资料全部开源

手机遥控蓝牙平衡小车V1资料全部开源

手机遥控蓝牙平衡小车V1资料全部开源

手机遥控蓝牙平衡小车V1资料全部开源

手机遥控蓝牙平衡小车V1资料全部开源


声明:该设计资料转自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姿态显示亲热照!

蓝牙平衡玩具小车全家福!

电路相关文件

电路图文件
原理图与PCB.zip
描述:原理图与PCB
源代码
STM32F411程序+安卓蓝牙遥控程序.zip
描述:STM32F411程序+安卓蓝牙遥控程序
其他文件
上位机源码+接收端程序.zip
描述:上位机源码+接收端程序
教程
收藏 (17)
扫码关注电路城

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归lb8820265所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

换一批 more>>

大家都在看:

继续阅读

  • (毕业设计)基于51单片机的多功能循迹、避障、手机蓝牙及重力感应小车(完整设计资料)

    基于51单片机设计多功能智能小车功能介绍:1、本设计采用STC89C52/作为主控芯片,LCD1602液晶作为显示屏幕;以下为各种版本介绍!2、直行避障:小车前面有一个超声波,小车处于往前直行状态,当前面的超声波遇到障碍物自动拐弯并继续行走,可按键随意设定小车避障的安全距离。3、红外线寻迹:小车前面三个红外线传感器,能在黑色轨道(黑胶带)自动行走。4、安卓蓝牙小车:通过安卓手机控制小车前进、后退、左转、右转;APP为安卓软件,能按键松手自动停止,并且有重力感应操控方式,操作手感好。以上为本作品全部功能,也可根据你的想法进行有偿添加,如:自制无线遥控、红外遥控控制、wifi控制等想法。附件内容截图:按键说明:开机后进入模式选择页面“模式键”:按一下后进入避障模式,并且开始避障工作,液晶第二行显示当前前后距离障碍物的距离。在此模式下还有调节避障距离功能,按“设置键”进入调节页面,第一个微闪的数值表示正在设定前方避障的距离,在按“设置键”,表示现在在设定的是第二个数值是后方躲避的距离,按“加键”“减键”就是增加或者减少数值,在按“设置键”第三次时返回避障模式 。在“模式”第二次后进入循迹模式,只要把车放在黑线上即可自动走完全程;并且液晶还显示当前小车前进还是停止的状态,如下图在“模式”第三次后进入安卓蓝牙遥控模式和重力感应模式合一,在此模式下打开手机蓝牙连接小车,并且打开相应具有“重力感应和遥控功能能APP软件”,即可控制小车;有两款APP如下图(买家任选)设计资料:1.源程序(KEIL工程源文件、word版本、记事本,程序大部分中文注释)2.设计图(Altium工程源文件、word版本、PDF版本、截图版本)3.元器件清单(默认Excel表格,元件看不懂可随时提问)4.演示视频5.设计用到的相关参考文档(芯片和传感器资料)6.设计用到的相关开发工具(普中程序下载软件、串口驱动软件,KEIL编程软件、Altium画图软件、串口助手)7.常见元器件的详细说明与介绍8.注意事项(常见制作过程遇到的问题和解决方案)补充说明:(设计资料的中提到的51单片机、Altium Design等教学视频、KEIL编程软件、Altium画图软件、串口助手由于资料太大不好上传,需要的另外发送)资料在于精而不在于多,资料越杂,新手越乱,对症下药,保证有效!基于51单片机设计多功能智能小车实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.3-c.w40...供电说明:使用两颗18650充电电池结合L298N驱动模块为小车电机和整个系统供电,购买套件以及成品配送充电器一个、电池两颗,如下此图所示:
    来自:智能车时间:2017-06-13 单片机 毕业设计 蓝牙小车
  • 【最终篇】手机遥控十分mimi蓝牙小车V2资料全部开源

    继电路城之前上传的2篇手机遥控蓝牙小车资料:手机遥控蓝牙平衡小车V1资料全部开源,http://www.cirmall.com/circuit/6201/detail?3手机遥控蓝牙平衡小车V1.1资料开源,http://www.cirmall.com/circuit/6202/detail?3现在介绍该手机遥控十分mimi蓝牙小车V2版本设计,http://www.cirmall.com/circuit/6204/detail?3CannonRobot将会拥有的功能如下:1. 手机遥控小车两轮行走2. 包括两个手臂,一个头部,共5个舵机3. 手臂可以接取东西,可以在地上自动爬起来4. 可以反馈电池电量到手机5. MP3播放,录音6. 手机调参软件7. 支持无头模式、方向盘模式、重力感应模式8. 运行微型操作系统9. 惯性导航(待定)10. 智能语音(待定)11. 智能避障(待定)12. 物联网智能家居功能(待定)硬件组成: 这次的小车将会十分mini,主控芯片采用小钢炮开发板,上面集成了stm32f401,BlueNRG,陀螺仪,加速度计,磁力计,温度计,湿度计,压强计,TF卡槽。电机驱动是TB6612,语音芯片采用WM8978,测距我想采用VL53L0,目前这款芯片现在还未量产。 小车主要是由一块小钢炮开发板、一块PCB板、一块STA350BW语音板、三个舵机、小车支架组成,相关物料见“相关文件”下载。舵机粘在了面板上,将语音板粘在舵机上,喇叭粘在语音板上,所有的接线全是用细线焊接出来的,实在是不好看呢。其中还需要将LED灯拆下,因为语音的IIC使用的是PB3与PB10,并没有使用板子留出的IIC,PB3正好是LED灯的接口,IIC这里需要注意加一个上拉电阻,不加也可以,不过偶尔会出现干扰的情况。 注意:上面的电源模块需要先调好5V电压然后才焊接上去。如果没有使用舵机和语音那么下面的6V电压模块就可以不焊接了。视频演示:主要文件: STM32端源码使用KEIL5打开,主要文件及功能如下: 代码运行流程: 整个代码分为两个部分,一个是被操作系统接管的部分,一个是独立与操作系统的部分。独立于操作系统的部分主要是用来控制小车直立,主要是出于实时性的考虑。被操作系统接管的部分,主要是为了享受操作系统带来的便利。 先来看看独立于操作系统的部分,这里主要是由两个中断驱动的,IMU配置为fifo模式,阈值设为6,开启中断,IIC使用DMA传输,开启中断。因此流程为IMU的fifo充满6个12位数据触发外部引脚中断,在中断函数中利用IIC的DMA读取,读取完进入IIC中断,中断函数中处理数据,并进行小车控制。这里的中断不想让操作系统接管,主要原因是为了增强实时性,同时也使得系统变得简单。 (Tips:IMU的IIC频率可以设置为1MHz,IMU的pulling模式读取数据需要将CTRL3_C寄存器中的BDU位置1,不然会有小概率出现错值) 操作系统部分,初始化函数在on_ready();都是直接初始化,蓝牙的初始化在有专门在初始化任务执行,这是因为蓝牙的初始化会有SPI引脚中断,而由于SPI是非可重入函数,这里做了互斥量所以这里SPI中断被操作系统接管了。任务包括:蓝牙接收任务,蓝牙发送任务,音乐播放任务(当无TF不会初始化),音乐播放控制任务(当无TF不会初始化),LED闪烁任务(当有TF时时不会初始化),电压发送函数,主函数任务,SPI中断任务,蓝牙初始化任务,任务的初始化后都有注释。以后也许还会有更多的任务。蓝牙数据协议: JUMA的蓝牙包将原本20字节的数据变成了1字节的type,1字节长度,18字节的数据。本协议中type发送与接收永远都是1,这里可以理解为数据帧头吧,然后长度的这一字节没有用到,怕不准,因为AndroidSDK发送是1字节type,后面接着数据,长度自动计算出来的,这个并不可靠。然后后面18个字节的数据,第一个字节是数据的ID,因为从APP发送过来的数据类型相当多(目前有7个),所以需要将数据都一一编号,这就是ID的作用了,除了数据ID有宏定义,还有数据的长度,这个主要是用来更加准确解码数据,中间的数据因为类型不同解码方式也不同,在宏定义处有解释,数据最后一位是CkeckSum。小车控制: 控制采用的传统的PID控制,直立采用PD控制,解算出来的角度乘以P,然后直接用陀螺仪的值乘以D,速度采用PI控制,速度差乘以D,速度的积分乘以I,这里需要将积分限幅限得相当的小,不然前进时需要小车停止,小车会向前运行一段距离然后退回到之前需要停止的点。转向就是其中一个电机加上一定的PWM值,另一个电机减去相同量的PWM值。APP的转向控制分两种情况,一种是普通模式的转向控制,一种是朝向模式的转向,朝向模式就是APP虚拟摇杆的方向或者手机的姿态就是小车运行的方向,普通模式就是给定一个转向的速度一直不停的旋转。操作模式也分为两种,一种是使用摇杆,一种是使用手机的姿态,所以两两相乘就产生了四种控制模式。三个控制直接线性融合,其中速度和直立控制的周期不同,速度控制为50ms,其实速度是对直立控制的一种干扰,所以周期需要设置的长一些。小车姿态解算: 小车使用了两个姿态解算,一个是使用6轴Mahony算法解算出Pitch,一个是9轴Mahony用来解算Yaw,这也就是为啥我会觉得小车没用啥高深的技术和算法的主要原因了,等小车硬件稳定后,会仔细研究姿态解算算法和控制算法。总结: 小车没有用到什么高深的技术和算法,全部开源,包括PCB源文件,STM32源文件,Android端源文件,物料采购推荐,所有文件都在“相关文件”下载。大家只需要购买好相关的物料,打板焊接好烧录程序即可,好像小钢炮淘宝网站中也有整车购买,建了个QQ群:187045895,欢迎加入。
    来自:智能车时间:2017-06-09 蓝牙小车 手机遥控
  • 【续】手机遥控蓝牙平衡小车V1.1资料开源

    声明:该设计资料转自lb8820265网友分享,仅供学习参考,不可用于商业用途。继电路城之前该小车资料,手机遥控蓝牙平衡小车V1资料全部开源(http://www.cirmall.com/circuit/6201/detail?3),现介绍该蓝牙平衡小车V1.1(BlueNRG+虚拟摇杆)开源设计(http://www.cirmall.com/circuit/6202/detail?3)。前面介绍了基于CC2541的蓝牙模块平衡小车,之前BlueNRG由于损坏所以才采用CC2541,这次又得到了一块BlueNRG,现在集齐三块ST的模组可以召唤神龙了,之前预留了BlueNRG的6个接口,所以只需要直接将扩展板插在传感器板上就可以了,然后再增加一点高度。这里主要是虚拟的摇杆的实现,详细“相关文件”下载视频演示:CC2541模块厂家已经写好相关代码使其变成一个透传模块,而BlueNRG是需要自己写好代码的,不过好在ST已经有了例程,而且也是使用STM32F4来驱动,这就大大的方便了开发,BlueNRG相关工具和软件下载地址:http://www.st.com/web/en/catalog/tools/PF261442点击最下面download。进入X-CUBE-BLE1\Projects\Multi\Applications\SampleApp,这是一个简单的使用蓝牙对话的例程,可以直接烧到STM32F411板子中查看效果,打开手机蓝牙搜索,可以搜索到BlueNRG_Chat的蓝牙,连接就后可以发送和接收数据了,查看工程中的代码也是十分简单的,有详细的注释,初始化之后,就是两个函数HCI_Process()与User_Process(),第一个函数用来处理各种事件,第二个是用户函数里面是一个监听按键并发送的函数。数据的收取主要是在ample_service.c中case EVT_BLUE_GATT_ATTRIBUTE_MODIFIED:和case EVT_BLUE_GATT_NOTIFICATION:两个事件中,第一个用来接收数据,第二个用来接收通知信息。 另一个重要的改进是添加了虚拟摇杆,可以在虚拟摇杆与SEEKBAR之间切换,同时简化了界面,如下图所示:更新:修复复杂环境下搜索BLE崩溃BUG,采用JUMA SDKAndroid源代码:https://github.com/flyloong/NUCLEO_Balance_Car_AndroidSTM32F411源代码:https://github.com/flyloong/NUCLEO_Balance_Car_STM32
    来自:智能车时间:2017-06-09 蓝牙小车 手机遥控 虚拟摇杆
  • STC89C52+蓝牙HC06+NRF24L01无线温度传输+继电器控制+流水灯按键+手机APP

    硬件设计行业,稳定的STC89C52+蓝牙+NRF24L01无线+继电器控制+流水灯按键+温度无线传输送手机APP,可直接打板焊接使用。可直接连接小车底板做手机蓝牙小车。可做智能家居控制节点,蓝牙,NRF,继电器,蜂鸣器,OLED显示程序都送。蓝牙小车详细教程:http://pan.baidu.com/s/1eSCGEmm牙小车视频资料演示:http://pan.baidu.com/s/1jI9QCOe小板实物购买链接:https://item.taobao.com/item.htm?spm=686.1000925.0... 智能蓝牙下车购买链接:https://item.taobao.com/item.htm?spm=686.1000925.0...无线温度传输 PCB 焊接好实物图片展示:无线温度传输原理图+PCB截图:蓝牙小车APP截图(重力感应超灵敏哦!):智能家居APP(可自行修改内容和AT指令):
    来自:智能家居时间:2017-05-25 nrf24l01 蓝牙小车 继电器控制
  • ucos+stm32平衡车设计

    因为最近在学习UCOS,就做了这个平衡车,小编之前是做四轴的,而平衡车的 控制跟 四轴的控制差不多。小编的平衡车底板是用铜板腐蚀的,芯片用的STM32F103C8T6,最小系统是以前自己做的,PCB文件看我之前上传的电路(免费的)驱动硬TB6612比较简单,就是三个GPIO控制一个电机,其中一个接定时器输出PWM。OLED用的模拟SPI;MPU6050用的是滑动滤波,四元数解算;NRF用的单工通信;PID的话就是,直立环PD,速度环PI,转向环PD。平衡车演示视频
销量
173
查看
2292
参数名 参数值
发布于 2017 年 06 月 09日
Moore8直播课堂