设为首页收藏本站

极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3927|回复: 53

《博哥玩Arduino》-蓝牙小车-基础篇

  [复制链接]
发表于 2016-11-4 12:51:06 | 显示全部楼层 |阅读模式
本帖最后由 单片机菜鸟 于 2016-11-28 12:48 编辑

一直对小车情有独钟,大学的时候做过一个语音小车参加校园电子设计大赛,不过那时语音识别还是有点傻乎乎的,识别度不高,不过也算是自己入门单片机的一个结晶。毕业之后就走了android开发,做了两年坑爹的android,学不到太多东西。近来兴趣兴起,又重新捣鼓一下单片机,萌发重新做一辆小车,初定手机蓝牙控制(因为蓝牙模块便宜,其实是因为穷),可以充分利用现在人手一部的android手机,做个简单的蓝牙遥控app,这样就可以把成本再降低点。由于做小车的过程中,发现缺了几个元器件,导致不能测试一下arduino程序,所以就先暂且放几天,等元器件到了再继续弄弄,所以就先写基础篇好了,后面再不上实操篇。
      先上几个图:

1.png

2.png

3.png

4.png

5.png

6.png

7.png

8.png

9.png

首先,需要的哪些工具:
1、        arduino UNO R3  x1
2、        L298N电机驱动模块 x1
3、        HC06 蓝牙模块 x1
4、        小车底盘 x1
5、        12V电源(7~9V)x1
6、        导线 若干
7、        蓝牙遥控app,楼主简单编写的,供大家下载和参考


说明:
1、L298N电机驱动模块,这个模块简单易懂。
222938vkhpmc1chrxmxzmh.jpg

224725tm55652mdm4k2kfz.jpg

2、蓝牙模块选用这个,比较方便,把蓝牙接上电源,再把蓝牙的Tx引脚接到开发板的Rx引脚,蓝牙Rx引脚置空,因为不需要把数据从开发板发到手机app,接好后可以直接用了。供电好以后,我们用手机连上蓝牙后,配对,密码一般是“1234”或者“0000”,输入好密码,就配对成功了。
3、电源,我用了12V 18650电池。
4、小车车板
224506onwj0rstn3ts8hsj.jpg

5、蓝牙小车原理:  
    app设定编码-->通过手机蓝牙发送编码-->HC06收到编码,发送到arduino板子-->板子解析编码-->控制电机

上面说了,由于元器件问题,暂时不能讲解实操小车部分,那么就讲一下app端以及蓝牙模块测试程序。

需要app的 麻烦在帖子留言

讲解一下app使用:

230607o7ssngy4kckkyvvy.png

点击打开app之后,首先会自动弹出提示要求打开手机蓝牙,可以看到四个方向箭头以及中间停止,用来控制小车前进后退左转右转,做这些操作前提是要连接上蓝牙小车的蓝牙模块HC06.所以需要首先点击右下角很像螺母的图标弹出下图:

230611bgptggugvzuzvmkg.png

如果没有上图所示,请点击搜索蓝牙设备,不出意外应该会看到一个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  (出处: 极客工坊)


回复

使用道具 举报

发表于 2016-11-4 15:53:02 | 显示全部楼层
一看就知道是处女座的,这么细心,还用热用胶盖住焊点。赞!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-4 17:26:17 | 显示全部楼层
PINKWALKMAN 发表于 2016-11-4 15:53
一看就知道是处女座的,这么细心,还用热用胶盖住焊点。赞!

双子座的  
回复 支持 反对

使用道具 举报

发表于 2016-11-4 17:33:52 | 显示全部楼层
比层主暑假里学做的高级了不少
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-4 19:24:14 | 显示全部楼层
P.919HY 发表于 2016-11-4 17:33
比层主暑假里学做的高级了不少

可以做给小孩子玩
回复 支持 反对

使用道具 举报

发表于 2016-11-5 09:23:29 | 显示全部楼层
HC-06好像支持IOS
回复 支持 反对

使用道具 举报

发表于 2016-11-5 10:11:02 | 显示全部楼层
楼主做工这么细,赞一个!之前做过一个蓝牙小车,用的是别人的App ,最近才开始学安卓。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-5 11:20:59 | 显示全部楼层

HC06只是个蓝牙模块 只需要负责蓝牙传输而已,所以只要手机支持蓝牙 就不在乎IOS还是Android  楼主不会IOS哈哈哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-5 12:26:19 | 显示全部楼层
木森林的年轮 发表于 2016-11-5 10:11
楼主做工这么细,赞一个!之前做过一个蓝牙小车,用的是别人的App ,最近才开始学安卓。

继续学android下去,多看点java基础  树立面向对象思想。。。。。
回复 支持 反对

使用道具 举报

发表于 2016-11-9 21:35:45 | 显示全部楼层
单片机菜鸟 发表于 2016-11-5 12:26
继续学android下去,多看点java基础  树立面向对象思想。。。。。

好的,谢谢楼主指导。
回复 支持 反对

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号  

GMT+8, 2017-4-28 16:29 , Processed in 0.085451 second(s), 12 queries , File On.

Powered by Discuz! X3.3 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表