标题: 做一个最简单的蓝牙小车 [打印本页]

作者: 旧日丶时光    时间: 2018-1-30 17:03
标题: 做一个最简单的蓝牙小车
需要模块:
1.   STC89C52RC单片机+最小系统
2.   HC06蓝牙从机模块
3.   L298电机驱动模块
4.   电源(7v
5.   电机+车轮
以上都可以在淘宝上购买的到。不过建议DIY的同志还是自己买单个原件焊接,比较有学习意义。
第一步 ——车体
小车车体建议自己制作,一是简单,而是可以节省成本,找一块塑料板,买一瓶502胶水,把在网上买的电机直接粘上去就可以了,很稳固。淘宝也有成品的车体,我就是直接买成品的。自己动手太浪费时间也不好看,但是就没有成就感了。

第二步——控制系统
动手制作一个单片机最小系统,安上芯片,非常的简单
51单片机最小系统的电路图大家应该都知道——
第三部——电机驱动
     底盘和最小系统搞好了,小车还是跑不起来——缺少电机驱动。
单片机的I/O是驱动不了电机的,我选用的是L298N电机专用驱动芯片。
我当时是偷懒,所以就在网上买了一个电机驱动,6块钱吧,买单个L298芯片好像是3块钱,感觉买一个现成的更划算
电机模块原理图如下:
   有兴趣的可以根据这图画一块PCB,自己动手做。
第四步——HC06蓝牙转串口模块
  既然使用手机蓝牙控制,那小车上必须要有一个蓝牙模块与手机蓝牙通信。在这里选用了HC06蓝牙转串口模块。
           
HC06蓝牙转串口模块的作用是将从手机蓝牙发送过来的指令接收到后转换成串口的形式通过单片机的串口传给单片机。只需将该模块的TXD接上51单片机的RXD引脚就行(当然还有电源),TXD不用接,因为我们只用它接收手机蓝牙信号,不发送数据。它出厂默认设置的波特率9600 ,不重新设置它的波特率的话,在写单片机串口程序时,也要将波特率设置为9600
第五步——电源
你可以根据实际情况选择电源,用电池组或小型蓄电池,我用的是两块3.7V的电池串联来给电机驱动供电,然后用一块手机电池3.7V给单片机和蓝牙串口供电。
最后一步:
用安卓手机下载一个叫“蓝牙串口”的软件,一般人只要玩玩都会用,
手机通过蓝牙向单片机发送一个数据(字符),单片机检测到便执行相应的指令。程序看文件夹下“参考程序”
附加功能:给小车加了四个灯,通过手机可以打开,关闭。
在车子前进和后退时四个灯会闪烁。转向时也会有相应的转向灯。

做成功后可以在上面添加别的模块,比如避障,寻迹,测距。。。
       教你做Android手机蓝牙遥控车

    安卓手机遥控小车,顾名思义就是用安卓手机来控制小车前后左右运动。
需要模块:

  
HC06蓝牙转串口模块的作用是将从手机蓝牙发送过来的指令接收到后转换成串口的形式通过单片机的串口传给单片机。只需将该模块的TXD接上51单片机的RXD引脚就行(当然还有电源),TXD不用接,因为我们只用它接收手机蓝牙信号,不发送数据。它出厂默认设置的波特率9600 ,不重新设置它的波特率的话,在写单片机串口程序时,也要将波特率设置为9600
也可以买HC05蓝牙。看个人喜欢

第五步——电源
你可以根据实际情况选择电源,用电池组或小型蓄电池,我用的是两块3.7V的电池串联来给电机驱动供电,然后用一块手机电池3.7V给单片机和蓝牙串口供电。



最后一步:
用安卓手机下载一个叫“蓝牙串口”的软件,一般人只要玩玩都会用,
手机通过蓝牙向单片机发送一个数据(字符),单片机检测到便执行相应的指令。程序看文件夹下“参考程序”

附加功能:给小车加了四个灯,通过手机可以打开,关闭。
在车子前进和后退时四个灯会闪烁。转向时也会有相应的转向灯。



做成功后可以在上面添加别的模块,比如避障,寻迹,测距。。。

我自己也做了APP 单片机程序。  发送字符匹配的

单片机源程序如下:
  1. /**************************************************************************************
  2. *                              串口通信实验                                                                                                  *
  3. 实现现象:下载程序后打开串口调试助手,将波特率设置为4800,选择发送的数据就可以显示
  4.                         在串口助手上。具体操作参考操作视频
  5. 注意事项:无。                                                                                                                                                                  
  6. ***************************************************************************************/

  7. #include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器

  8. typedef unsigned int u16;          //对数据类型进行声明定义
  9. typedef unsigned char u8;
  10. u8 a;

  11. sbit in1=P2^0;
  12. sbit in2=P2^1;
  13. sbit in3=P2^2;
  14. sbit in4=P2^3;

  15. /*******************************************************************************
  16. * 函数名         :UsartInit()
  17. * 函数功能                   :设置串口
  18. * 输入           : 无
  19. * 输出                  : 无
  20. *******************************************************************************/
  21. void UsartInit()
  22. {
  23.         SCON=0X50;                        //设置为工作方式1
  24.         TMOD=0X20;                        //设置计数器工作方式2
  25.         PCON=0X80;                        //波特率加倍
  26.         TH1=0XF4;                                //计数器初始值设置,注意波特率是4800的
  27.         TL1=0XF4;
  28.         ES=1;                                                //打开接收中断
  29.         EA=1;                                                //打开总中断
  30.         TR1=1;                                        //打开计数器
  31. }

  32. /*******************************************************************************
  33. * 函 数 名       : main
  34. * 函数功能                 : 主函数
  35. * 输    入       : 无
  36. * 输    出             : 无
  37. *******************************************************************************/
  38. void main()
  39. {        
  40.         UsartInit();  //        串口初始化
  41.         while(1)
  42.         {
  43.         switch(a)
  44.         {
  45.                 case'a':in1=0;in2=1;        in3=1; in4=0;  break;   //   前进
  46.                 case'b':in1=1;in2=0;        in3=0; in4=1; break;    //   后退
  47.                 case'c':in1=0;in2=1;        in3=0; in4=0; break;    //   左转
  48.                 case'd':in1=0;in2=0;        in3=1; in4=0; break;                 //   右转
  49.     case'e':in1=0;in2=0;        in3=0; in4=0; break;    //   停止
  50.         }
  51.         }               
  52. }

  53. /*******************************************************************************
  54. * 函数名         : Usart() interrupt 4
  55. * 函数功能                  : 串口通信中断函数
  56. * 输入           : 无
  57. * 输出                  : 无
  58. *******************************************************************************/
  59. void Usart() interrupt 4
  60. ……………………

  61. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
蓝牙串口小车.rar (33.04 KB, 下载次数: 723)
APP.rar (224.63 KB, 下载次数: 356)





作者: 252622979    时间: 2018-2-2 15:31
做一个来玩玩
作者: lkzx56    时间: 2018-3-26 14:47
楼主资料可以啊
作者: vacation    时间: 2018-3-26 17:48
之前做过一个,就是不知道怎么调速,然后app还不会做
作者: cliang223    时间: 2018-3-26 23:31
我也想做一个来学习学习
作者: wpq201800    时间: 2018-3-27 11:04
很不错的设计,也很完整,值得大家学习!!
作者: 板凳子    时间: 2018-3-27 21:57
谢楼主
作者: 10742600690    时间: 2018-4-2 21:47
app怎么做呢
作者: HelloWorld..    时间: 2018-4-17 13:25
关键的看不到
作者: a121812    时间: 2018-5-4 18:45
我拿去学习学习
作者: a920051220    时间: 2018-5-5 11:14
請問震盪器是幾MHZ的
作者: cishenweiwu    时间: 2018-5-28 22:14
楼主,那个小车的程序是一共70行吗
作者: yt1329770668    时间: 2018-5-29 20:30
萌新前来学习
作者: 996054544    时间: 2018-6-3 18:06
学习一下
作者: qwe55123    时间: 2018-6-3 22:49
66666666666666666666666666666666
作者: bosshan    时间: 2018-6-4 14:04
非常厉害了
作者: lc0663    时间: 2018-6-6 22:52
感谢分享,正在学习
作者: lc0663    时间: 2018-6-6 22:55
谢谢分享,正在学习中
作者: 向南的人    时间: 2018-6-14 11:18
想学想下载,可惜黑比不足

作者: cjd153957    时间: 2018-6-14 15:11
可以上手,感谢分享
作者: wuxishun    时间: 2018-6-23 06:25
做手机APP用什么软件?
作者: 旧日丶时光    时间: 2018-6-23 15:08
wuxishun 发表于 2018-6-23 06:25
做手机APP用什么软件?

用的是   E4A
作者: ryx    时间: 2018-7-17 16:48
谢谢版主
作者: qwerno    时间: 2018-7-29 09:41
谢谢大佬,下来看看

作者: koun    时间: 2018-8-1 22:49
给力!非常详细
作者: zhujibing    时间: 2018-8-2 14:37
电机模块原理图    跪求
作者: zhujibing    时间: 2018-8-2 14:38
电机模块原理图??跪求
作者: linyiyun    时间: 2018-8-9 14:29
谢谢分享
作者: jiajia86    时间: 2018-8-10 11:45
谢谢楼主分享
作者: 青宁    时间: 2018-8-24 09:18
谢楼主分析
作者: huhuhu666    时间: 2018-9-7 17:41
学习一下
作者: kiva555000    时间: 2018-9-20 11:07
很给力
作者: kiva555000    时间: 2018-9-20 11:08
谢谢楼主分析
作者: jll586    时间: 2018-9-24 21:13
很详细,想试一试,从动手开始,希望能传个图片看看楼主的杰作,以作参考
作者: 以悠咪    时间: 2018-10-2 15:15
真好,明天会更好
作者: lixinjie    时间: 2018-10-4 10:01
哇,全是大神啊,好好学习
作者: 快乐眼泪    时间: 2018-10-4 19:58
努力学习,为自己加油!
作者: jkxjkx    时间: 2018-11-8 12:52
很好的程序,谢谢楼主
作者: YEAH666    时间: 2018-11-8 17:19
楼主用的手机的蓝牙版本是4.1的吗?   HC-06模块能连接安卓手机蓝牙4.1吗
作者: 快乐a123    时间: 2018-11-8 20:32
不错啊
作者: feiji666    时间: 2018-11-9 10:24
感谢分享
作者: 浅蓝一旗    时间: 2018-11-22 02:47
真的很需要这些资料学习
作者: 快乐眼泪    时间: 2018-11-22 10:46
感谢分享!
作者: Atonidas    时间: 2018-11-30 16:09
可惜这个没有调左右轮的速,我的小车老拐弯
作者: cwt    时间: 2019-1-31 09:43
此程序非常的好
作者: LYZ321520    时间: 2019-2-6 11:43
谢谢楼主分享
作者: yilinghai    时间: 2019-2-7 20:21
没有原理图?
作者: AprilT    时间: 2019-3-1 17:26
太厉害啦
作者: thanatos000    时间: 2019-3-16 10:54
太厉害啦
作者: 呵呵呵呵1    时间: 2019-3-16 14:24
我会做APP。单片机方面有点弱。有需求的可以互相学习。
作者: ww51    时间: 2019-3-20 12:51
多谢楼主

作者: 爱疯的孩纸    时间: 2019-4-23 20:11
楼主,这里边不写蓝牙的程序吗,你的程序里边只有串口的
作者: dan1234    时间: 2019-5-10 20:55
先回复
作者: 赵红志    时间: 2019-5-14 12:34
输出怎么接啊?
作者: 13067071271    时间: 2019-5-16 10:20
萌新前来学习
作者: czz傻狍子    时间: 2019-5-16 16:53
楼主可以给我分享一下原理图吗?

作者: lupeimao    时间: 2019-5-25 11:58
想做一个玩玩
作者: 51HHEI66    时间: 2019-5-25 12:06
牛逼哦
作者: hfaidyy    时间: 2019-5-30 18:34
252622979 发表于 2018-2-2 15:31
做一个来玩玩

我做了,就是蓝牙控制不了
作者: hfaidyy    时间: 2019-5-30 18:34
蓝牙控制不是,怎么回事呢?我用HC-05
作者: s6155555s    时间: 2019-7-2 22:58
有用,赞一个!!!
作者: 加加加林    时间: 2019-7-4 18:44
看起来超级棒,努力做一个试一试
作者: 阳仔!    时间: 2019-11-21 14:10
资料很实用!
作者: 2289477193    时间: 2019-11-21 16:39
我建议你还需要焊接一个稳压模块  




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1