《博哥玩Arduino》-蓝牙小车-基础篇
本帖最后由 单片机菜鸟 于 2017-7-11 16:04 编辑app下载地址:
http://shouji.baidu.com/software/11629425.html
http://android.myapp.com/myapp/detail.htm?apkName=com.wty.app.bluetoothcar
一直对小车情有独钟,大学的时候做过一个语音小车参加校园电子设计大赛,不过那时语音识别还是有点傻乎乎的,识别度不高,不过也算是自己入门单片机的一个结晶。毕业之后就走了android开发,做了两年坑爹的android,学不到太多东西。近来兴趣兴起,又重新捣鼓一下单片机,萌发重新做一辆小车,初定手机蓝牙控制(因为蓝牙模块便宜,其实是因为穷),可以充分利用现在人手一部的android手机,做个简单的蓝牙遥控app,这样就可以把成本再降低点。由于做小车的过程中,发现缺了几个元器件,导致不能测试一下arduino程序,所以就先暂且放几天,等元器件到了再继续弄弄,所以就先写基础篇好了,后面再不上实操篇。
先上几个图:
首先,需要的哪些工具:
1、 arduino UNO R3x1
2、 L298N电机驱动模块 x1
3、 HC06 蓝牙模块 x1
4、 小车底盘 x1
5、 12V电源(7~9V)x1
6、 导线 若干
7、 蓝牙遥控app,楼主简单编写的,供大家下载和参考
说明:
1、L298N电机驱动模块,这个模块简单易懂。
2、蓝牙模块选用这个,比较方便,把蓝牙接上电源,再把蓝牙的Tx引脚接到开发板的Rx引脚,蓝牙Rx引脚置空,因为不需要把数据从开发板发到手机app,接好后可以直接用了。供电好以后,我们用手机连上蓝牙后,配对,密码一般是“1234”或者“0000”,输入好密码,就配对成功了。
3、电源,我用了12V 18650电池。
4、小车车板
5、蓝牙小车原理:
app设定编码-->通过手机蓝牙发送编码-->HC06收到编码,发送到arduino板子-->板子解析编码-->控制电机
上面说了,由于元器件问题,暂时不能讲解实操小车部分,那么就讲一下app端以及蓝牙模块测试程序。
需要app的 麻烦在帖子留言
先贡献app (原来app没有适配到android6.0 所以我就直接上传到应用市场好了,供大家直接下载或者更新 以后不用再发邮箱了。)
http://android.myapp.com/myapp/detail.htm?apkName=com.wty.app.bluetoothcar
讲解一下app使用:
点击打开app之后,首先会自动弹出提示要求打开手机蓝牙,可以看到四个方向箭头以及中间停止,用来控制小车前进后退左转右转,做这些操作前提是要连接上蓝牙小车的蓝牙模块HC06.所以需要首先点击右下角很像螺母的图标弹出下图:
如果没有上图所示,请点击搜索蓝牙设备,不出意外应该会看到一个HC06,没有的话 请确保你的蓝牙模块电源连接正确。看到HC06,点击一下,如果是第一次配对,是需要输入密码:默认是0000或者1234.如果配对过,点击就自动连接了。
蓝牙小车前进后退左转右转停止,都是一种状态,所以我们用编码去区分。在我的app里,我默认设置为: 前进3后退4左转1右转2停止0。当然,也可以自定义编码,点击左下角进入设置页面:
编码只能是0-9数字以及大小写26个字母,足够使用。
说完app端,要说一下怎么测试编码是否正确。把下面代码烧入arduino uno R3板子:
/*
日期:2016.10.31
功能:蓝牙小车测试按键值程序
*/
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0){
char ch = Serial.read();
if(ch == '1'){
//前进
Serial.println("up");
}else if(ch == '2'){
//后退
Serial.println("back");
}else if(ch == '3'){
//左转
Serial.println("left");
}else if(ch == '4'){
//右转
Serial.println("right");
}else if(ch=='0'){
//停车
Serial.println("stop");
}else{
//其他编码
Serial.println(ch);
}
}
}
然后就可以用arduino IDE自带的串口调试器来查看,不出意外应该可以看到类似下面的打印:
默认的编码就显示 up down left stop right ,自定义编码就显示 编码值
到此,就讲完app端以及测试编码,难度不大。有了编码之后,剩下就是arduino根据这些编码来操作电机的工作了,只能等实操篇来继续写了。
补上实操篇:
《博哥玩Arduino》-蓝牙小车-实操篇
http://www.geek-workshop.com/thread-27777-1-1.html
(出处: 极客工坊)
博哥系列文章:
《博哥玩Arduino》-蓝牙小车-基础篇
http://www.geek-workshop.com/thread-27767-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-蓝牙小车-实操篇
http://www.geek-workshop.com/thread-27777-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-Arduino语法手册
http://www.geek-workshop.com/thread-27843-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-WIFI小车-基础篇
http://www.geek-workshop.com/thread-27850-1-1.html (出处: 极客工坊)
《博哥玩Arduino》-WIFI小车-调试实操篇
http://www.geek-workshop.com/thread-27853-1-1.html (出处: 极客工坊)
《博哥玩Arduino》- 蓝牙模块HC06 重命名
http://www.geek-workshop.com/thread-27897-1-1.html (出处: 极客工坊)
《博哥玩Arduino》- 蓝牙RGB灯
http://www.geek-workshop.com/thread-27892-1-1.html(出处: 极客工坊)
一看就知道是处女座的,这么细心,还用热用胶盖住焊点。赞! PINKWALKMAN 发表于 2016-11-4 15:53
一看就知道是处女座的,这么细心,还用热用胶盖住焊点。赞!
双子座的:lol 比层主暑假里学做的高级了不少 P.919HY 发表于 2016-11-4 17:33
比层主暑假里学做的高级了不少
:lol可以做给小孩子玩 HC-06好像支持IOS 楼主做工这么细,赞一个!之前做过一个蓝牙小车,用的是别人的App ,最近才开始学安卓。 ILLUSION 发表于 2016-11-5 09:23
HC-06好像支持IOS
HC06只是个蓝牙模块 只需要负责蓝牙传输而已,所以只要手机支持蓝牙 就不在乎IOS还是Android楼主不会IOS哈哈哈 木森林的年轮 发表于 2016-11-5 10:11
楼主做工这么细,赞一个!之前做过一个蓝牙小车,用的是别人的App ,最近才开始学安卓。
继续学android下去,多看点java基础树立面向对象思想。。。。。 单片机菜鸟 发表于 2016-11-5 12:26
继续学android下去,多看点java基础树立面向对象思想。。。。。
好的,谢谢楼主指导。 好东西,感谢分享! antbot 发表于 2016-11-10 08:57
好东西,感谢分享!
谢谢 哈哈哈 后面准备写个wifi小车 楼主,求助,,,,
现在学校有个Arduino的循迹小车做毕业设计,但不会弄编程!!!是用五路循迹模块给Arduino信号循迹,舵机控制方向的,用L298N控制模块控制电机调速,急!!楼主有联系方式吗,我详细和你说 Madman 发表于 2016-11-18 16:19
楼主,求助,,,,
现在学校有个Arduino的循迹小车做毕业设计,但不会弄编程!!!是用五路循迹模块给Ard ...
这个没有弄过额没有弄过循迹小车网上应该有一大把循迹小车的案例才对 单片机菜鸟 发表于 2016-11-18 16:34
这个没有弄过额没有弄过循迹小车网上应该有一大把循迹小车的案例才对
我找了很久,,,,都没有,,没有的话就算了,谢谢,麻烦你了。