查看: 43621|回复: 279

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

  [复制链接]
  • TA的每日心情
    开心
    2018-10-20 15:52
  • 签到天数: 503 天

    [LV.9]以坛为家II

    发表于 2016-11-3 23:23 | 显示全部楼层 |阅读模式
    本帖最后由 单片机菜鸟 于 2018-8-28 09:37 编辑

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

    88CF08CA981F7875CEACA46E3792C00A.png

    539CFB7F2B5A68BC9E4E0AA07BC06004.png

    0046B17CA894314773362509BC64E9CD.png

    F9E9D254A634556235667C441F71AE2D.png

    FC2C4C61B3E757A3D97F822062249784.png

    3DAA0B8EE813623E632A17FC8F4E2594.png

    8A3BE84AEC436ED7570341B7712C4C9E.png

    81E92C927092BB3684DC387941A2CF22.png

    06AC0401330403337B591641EF6056AF.png

    7C96DBFA6168CE1295B7E34BD9727A10.png

    首先,需要的哪些工具:
    1、        arduino UNO R3  x1
    2、        L298N电机驱动模块 x1
    3、        HC06 蓝牙模块 x1
    4、        小车底盘 x1
    5、        12V电源(7~9V)x1
    6、        导线 若干

    7、        蓝牙遥控app,楼主简单编写的,供大家下载和参考


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

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


    上面说了,由于元器件问题,暂时不能讲解实操小车部分,那么就讲一下app端以及蓝牙模块测试程序。
    先贡献app (原来app没有适配到android6.0 所以我就直接上传到应用市场好了,供大家直接下载或者更新 以后不用再发邮箱了。)
    http://android.myapp.com/myapp/d ... ty.app.bluetoothcar

    app 源码地址:
    游客,如果您要查看本帖隐藏内容请回复

    讲解一下app使用:


    D0A869F350964745DF7BCC3D71EE34F6.png

    点击打开app之后,首先会自动弹出提示要求打开手机蓝牙,可以看到四个方向箭头以及中间停止,用来控制小车前进后退左转右转,做这些操作前提是要连接上蓝牙小车的蓝牙模块HC06.所以需要首先点击右下角很像螺母的图标弹出下图:
    C70B3EBC6C6652B2228D0436815B076E.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.arduino.cn/forum.php? ... 31096&fromuid=93655
    (出处: Arduino中文社区)

    博哥自建qq交流群:869920142

    博哥系列文章:

    《博哥玩Arduino》-测试RC522模块

          http://www.arduino.cn/forum.php? ... 24034&fromuid=93655   (出处: Arduino中文社区)
    《博哥玩Arduino》-蓝牙小车-基础篇
         http://www.arduino.cn/forum.php? ... 31059&fromuid=93655   (出处: Arduino中文社区)
    《博哥玩Arduino》-蓝牙小车-实操篇
         http://www.arduino.cn/forum.php? ... 31096&fromuid=93655   (出处: Arduino中文社区)
    《博哥玩Arduino》-WIFI小车-基础篇
         http://www.arduino.cn/forum.php? ... 31228&fromuid=93655   (出处: Arduino中文社区)
    《博哥玩Arduino》-WIFI小车-调试实操篇
        http://www.arduino.cn/forum.php? ... 31518&fromuid=93655    (出处: Arduino中文社区)
    《博哥玩Arduino》- 蓝牙模块HC06 重命名
        http://www.arduino.cn/forum.php? ... 31517&fromuid=93655    (出处: Arduino中文社区)
    《博哥玩Arduino》- 蓝牙RGB灯
        http://www.arduino.cn/forum.php? ... 31519&fromuid=93655   (出处: Arduino中文社区)
    《博哥玩Arduino》-Arduino语法手册
        http://www.arduino.cn/forum.php? ... 31521&fromuid=93655    (出处: Arduino中文社区)






    Arduino.jpg
    CA2DCE6EE7FDDF11FC8ABB4BADB182E9.png
    L298N.jpg
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2018-10-17 20:01
  • 签到天数: 831 天

    [LV.10]以坛为家III

    发表于 2016-11-4 06:40 | 显示全部楼层
    手机上那是一根鼻毛么?
    请PY我
  • TA的每日心情
    开心
    2018-10-20 15:52
  • 签到天数: 503 天

    [LV.9]以坛为家II

     楼主| 发表于 2016-11-4 08:01 | 显示全部楼层
    seesea 发表于 2016-11-4 06:40
    手机上那是一根鼻毛么?

    哈哈哈  几天没洗头了,头发凌乱中....
    打赏作者鼓励一下!
  • TA的每日心情

    2017-3-26 11:20
  • 签到天数: 50 天

    [LV.5]常住居民I

    发表于 2016-11-4 14:55 | 显示全部楼层
    总觉得你们这些会Android啊、苹果啊之类的编程的,再来搞这些真吃香!
    lz,先自学蓝牙传输这些难不难啊。。。
  • TA的每日心情
    开心
    2018-10-20 15:52
  • 签到天数: 503 天

    [LV.9]以坛为家II

     楼主| 发表于 2016-11-4 15:33 | 显示全部楼层
    mrran 发表于 2016-11-4 14:55
    总觉得你们这些会Android啊、苹果啊之类的编程的,再来搞这些真吃香!
    lz,先自学蓝牙传输这些难不难啊。。 ...

    其实也不要把app开发看得很难,入门的时候大家都是照着书籍敲代码的。蓝牙传输很多时候不用理会里面协议怎么样  都有现成的api调用。  我搞这个 是因为我大学是学电子的  所以有兴趣
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2018-10-17 20:01
  • 签到天数: 831 天

    [LV.10]以坛为家III

    发表于 2016-11-4 21:36 | 显示全部楼层
    单片机菜鸟 发表于 2016-11-4 08:01
    哈哈哈  几天没洗头了,头发凌乱中....

    嘿嘿嘿 :D 开个玩笑
    请PY我
  • TA的每日心情
    奋斗
    2018-10-15 17:46
  • 签到天数: 204 天

    [LV.7]常住居民III

    发表于 2016-11-4 22:48 | 显示全部楼层
    seesea 发表于 2016-11-4 06:40
    手机上那是一根鼻毛么?

    为你这句话我又返回去看了下~哈哈哈~~~
    打赏作者鼓励一下!
  • TA的每日心情
    开心
    2018-10-20 15:52
  • 签到天数: 503 天

    [LV.9]以坛为家II

     楼主| 发表于 2016-11-4 23:05 | 显示全部楼层
    mostblack 发表于 2016-11-4 22:48
    为你这句话我又返回去看了下~哈哈哈~~~

    我也同样回去看了一下 哈哈哈
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2018-10-17 20:01
  • 签到天数: 831 天

    [LV.10]以坛为家III

    发表于 2016-11-5 22:14 | 显示全部楼层
    mostblack 发表于 2016-11-4 22:48
    为你这句话我又返回去看了下~哈哈哈~~~

    [抠鼻]
    请PY我
  • TA的每日心情
    开心
    2018-8-31 08:36
  • 签到天数: 139 天

    [LV.7]常住居民III

    发表于 2016-11-7 14:48 | 显示全部楼层
    小车做的真不错。
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Arduino IDE安装esp8266 SDK
    Arduino IDE安装esp8266 S
    使用Arduino IDE开发esp8266开发板 1.下载Arduino IDE 下载地址 2.打开Arduino IDE
    arduino SD卡识别不了
    arduino SD卡识别不了
    arduino版本为1.8.7 单片机是arduino uno 使用的程序为自带程序cardinf 连线开始弄错
    arduino sd卡读取后 后期数据处理的问题
    arduino sd卡读取后 后期
    测试内容:UNO板子+SD卡+时钟1302模块+自制传感器模块。实现采集到的数据储存到SD卡中
    求助!在使用Digispack Kickstarter做BadUSB时报错
    求助!在使用Digispack Ki
    如图 在编译时出现错误 [mw_shl_code=c,true]void setup() { Digispark.Keyboard vo
    arduino智能小车蓝牙控制系统
    arduino智能小车蓝牙控制
    蓝牙智能小车简介 智能小车主要可以分为 3 部分, 传感器部分、控制部分、执行部分。
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表