[置顶] 基于STM32的安卓蓝牙多功能遥控车

时间:2022-05-06 22:35:37

        为了学以致用,本人就打算用STM32和安卓蓝牙上位机做一款多功能遥控小车,检验一下自己的学习成果。顺便送给小盆友当玩具,也非常不错哈,纯手工DIY,网上可是买不到的。

        先在网上搜索了很多资料,本想着“抄袭”一个算了,无奈网上仅存的成品不是功能简单,就是遥控器效果不够炫,翻遍了整个Internet,没有一个中意的,于是下定决心,自己做一个,整合各种优质资源做一个最酷,最炫,最牛X的……

一、废话不多说,有图有真相:

1、成品展示

[置顶]        基于STM32的安卓蓝牙多功能遥控车[置顶]        基于STM32的安卓蓝牙多功能遥控车

2、小车侧面

[置顶]        基于STM32的安卓蓝牙多功能遥控车[置顶]        基于STM32的安卓蓝牙多功能遥控车

3、小车车头特写[置顶]        基于STM32的安卓蓝牙多功能遥控车

[置顶]        基于STM32的安卓蓝牙多功能遥控车

4、安卓手机蓝牙遥控软件——BluetoothRC

[置顶]        基于STM32的安卓蓝牙多功能遥控车[置顶]        基于STM32的安卓蓝牙多功能遥控车

最酷最炫的安卓手机蓝牙遥控器闪亮登场了!此遥控器可通过重力感应控制小车方向,有正倒档、刹车、油门和四个可自定义按钮,用自定义键,可以让小车实现鸣笛、紧急停车、还可以自己设计“一键特技表演”!这个应用可以在谷歌的“Play商店”里面下载,直接搜“Bluetooth RC”即可。顺便唠叨一句,这个应用找的我好辛苦,告诉大家一条名言:“百度一下,你就知道,谷歌一下你就知道的太多了!“这一至理名言在搜索领域里面普遍适用哈,这么好的应用,你在豌豆荚等等应用商店可是找不到的,还得再谷歌应用商店找,因为,谷歌面向的是全世界!(亲测小米2、魅族2、和部分三星手机可用,但有部分联想和步步高的千元机不能用)。鉴于Google被天朝*全面*,大家现在估计都下载不到了,我就把软件上传了:http://download.csdn.net/detail/wxlmjr/7588097

[置顶]        基于STM32的安卓蓝牙多功能遥控车[置顶]        基于STM32的安卓蓝牙多功能遥控车

[置顶]        基于STM32的安卓蓝牙多功能遥控车

[置顶]        基于STM32的安卓蓝牙多功能遥控车

二、详细规格规划:

1、通过蓝牙,实现安卓手机对小车的遥控,小车可实现,加减速,拐弯,鸣笛;遥控器软件界面尽量形象逼真。

2、在没有遥控器的情况下,能自主避障行走。

3、在跟踪模式下可以实现对近处移动物体的跟踪。

4、8*8点阵显示动画(主要是逗小盆友玩的,不需要的可以把这个部分去掉)

三、所需硬件材料

1、CPU:STM32F103C8T6

2、电机驱动:L298N电机驱动模块

3、HY—SRF05超声波模块

4、BC04B蓝牙模块

5、8*8点阵

6、车模及充电电池套装

7、锁存器HC573

8、蜂鸣器、按键、LED指示灯、双面覆铜板、铜柱、螺丝、船型开关、排针、电烙铁、焊锡丝等等……(附上部分材料淘宝图片)

[置顶]        基于STM32的安卓蓝牙多功能遥控车 [置顶]        基于STM32的安卓蓝牙多功能遥控车

说明:以上硬件材料都可以在淘宝上买到,有条件和能力的可以自己用覆铜板制作电路板,是“土豪”的,可以直接发工厂开板子。

为了给大家参考,也给懒人一个偷懒的机会,特意把我自己画的Altium Designer工程的电路原理图及PCB文件一并奉上。

原理图截图如下,PCB工程大家可以到CSDN里下载:http://download.csdn.net/detail/wxlmjr/7564589

[置顶]        基于STM32的安卓蓝牙多功能遥控车

[置顶]        基于STM32的安卓蓝牙多功能遥控车

四、软件设计(软件设计才是本车最难也最能锻炼人的地方)

1、UART通信模块

2、蓝牙遥控软件Bluetooth RC,解码

3、电机驱动模块

4、超声波驱动模块

5、点阵驱动模块

6、LED灯,蜂鸣器驱动

7、按键驱动

总结:各个模块的驱动程序,网上有很多例程可参考,为了方便不会编程或懒得编程的小伙伴,在此把我写的源代码(Keil MDK)工程也开源了,可供大家参考、学习和下载到单片机使用。

不过对想通过做车学习编程的同学来说,还是要认真看看源代码,其中我认为,蓝牙遥控软件的解码,是这个程序中最具特色的部分,需要好好讲一下,大概步骤如下:先将Bluetooth RC 和电脑(笔记本电脑自带蓝牙的可以直接连接,没有的买个蓝牙适配器,还需要“千月蓝牙”软件)通过蓝牙连接,在电脑串口助手中接收Bluetooth RC发送的字符串,记录下这些字符串,和代表的含义(比如方向盘控制是通过字符串“S0”到“S180”来表示从0°到180°的打角,“D0、D1……D9”表示9个档位)。然后在单片机程序的串口中断里面接收这些字符串,再把这些字符串解析成相应的小车控制动作就可以了,详见Keil MDK工程,程序里面有详细注释,可供参考。

KeilMDK工程大家可以到CSDN里下载:

http://download.csdn.net/detail/wxlmjr/7564527

五、说明:

之所以没有把这篇文章写成“手把手”教你做的形式,一是因为时间有限,事情太多,比较忙;二是做此小车需要一定的电子设计基础,需要的东西太多不是三言两语能够讲得清楚的,我达到这个水平,也是经过长时间积累才做到的,从徒手焊接、画PCB板、到手工制作PCB板、再到学习C语言编程、学习51单片机、到学习STM32微控制器;到最终把这些东西整合起来,个中艰辛和乐趣只有亲手做的人才能体会到。还有一个总结此项目和用于演讲的PPT,见百度文库:http://wenku.baidu.com/view/3ac4dba0524de518964b7d64.html,需要的童鞋可以下载,各种资料下载的时候都需要一定积分,大家不要抱怨,毕竟这是我辛勤劳动的成果,要点回报也不为过,嘻嘻……