标题: [原创diy]手机蓝牙遥控小车完工 [打印本页]

作者: lxa0    时间: 2015-3-30 15:20
标题: [原创diy]手机蓝牙遥控小车完工
在网上买了一个简易的小车车体
又焊接了一个简陋的pcb板子
当了一个手机侧的apk
于是就有了下面的
.............................................

作者: lxa0    时间: 2015-3-30 15:21




作者: lxa0    时间: 2015-3-30 15:23



相关资料
安卓apk文件: 上位机资料.zip (1.23 MB, 下载次数: 493)
asm汇编代码: 下位机原代码.zip (1003 Bytes, 下载次数: 251)
作者: bjfxxc    时间: 2015-3-30 16:00
这么好的资料,谢谢楼主分享,51hei有你更精彩。
作者: heicad    时间: 2015-3-30 16:07
楼主这个小车看起来很酷,制作工艺很好看起来,看起来很漂亮。电路板边上的那两个探头是超声波探头吗?好像左边还有一个红外接收头,貌似电路图里面好像没有。
作者: 野强强    时间: 2015-4-3 07:04
不错。。。。。
作者: xi396696139    时间: 2015-4-3 11:40
谢谢楼主  好东西下载一下
作者: Lumia820    时间: 2015-4-3 16:00
蓝牙还没搞定 过来学习下
作者: pkumiko    时间: 2015-4-4 23:02
楼主可以把它卖给我吗?
作者: 丿丿浅笑丿    时间: 2015-4-13 20:36
在网上买了一个简易的小车车体
作者: 雁之铭    时间: 2015-4-16 19:49
下位机有C的程序吗。。学习一下

作者: lxa0    时间: 2015-4-16 22:41
雁之铭 发表于 2015-4-16 19:49
下位机有C的程序吗。。学习一下

没有 C
只有汇编
.......................................
作者: 作茧自缚    时间: 2015-4-21 10:34
楼主   控制软件是你自己做的????
作者: lxa0    时间: 2015-4-21 11:42
作茧自缚 发表于 2015-4-21 10:34
楼主   控制软件是你自己做的????

网上下载的~~~~~~~~~~``
作者: sppcb    时间: 2015-4-21 19:23
不错。。。。。。
作者: 心宇(语)    时间: 2015-4-22 22:16
好资料,谢谢楼主分享!!!1
作者: xiayuandong    时间: 2015-5-4 20:35
good
作者: wangoo1    时间: 2015-5-5 06:54
谢谢楼主分享
作者: ketangsz    时间: 2015-5-5 18:37
高手啊,佩服。多想有个这种小车。这个蓝牙模块是随便买就可以吗?
作者: gouxiantao    时间: 2015-5-9 11:27
感谢你的分享,祝你生活愉快
作者: oubujieshi    时间: 2015-5-9 20:58
谢谢楼主分享
作者: lfq3779    时间: 2015-6-21 14:09
好东西,但积分不够啊
作者: 18369950294    时间: 2015-7-4 20:35
楼主很厉害》》》》》
作者: 18369950294    时间: 2015-7-4 20:36
有C语言的程序吗?

作者: 腾飞的龙    时间: 2015-7-23 11:06
  1. #include<reg52.h>
  2. //#include<intrins.h>
  3. #include<math.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. #define k 20
  7. sbit ena=P0^4;
  8. sbit enb=P0^5;
  9. sbit in1=P0^0;
  10. sbit in2=P0^1;
  11. sbit in3=P0^2;
  12. sbit in4=P0^3;
  13. uchar t=0;//中断计数
  14. uchar m1=0;//电机1调速值
  15. uchar m2=0;//电机2调速值
  16. uchar tmp1,tmp2;
  17. //dianji(1-2).speed-电机调速(-100---+100)
  18. void motor(uchar dianji,char speed)
  19. {
  20.         if(speed>=-100&&speed<=100)
  21.         {
  22.                 if(dianji==1)//电机1的处理
  23.                 {
  24.                         m1=abs(speed);//取速度的绝对值
  25.                         if(speed<0)//速度值为负则反转
  26.                         {
  27.                                 in1=0;in2=1;
  28.                         }
  29.                         else//不为负就正转
  30.                         {
  31.                                 in1=1;in2=0;
  32.                         }
  33.                 }
  34.                 if(dianji==2)//对电机2的处理
  35.                 {
  36.                         m2=abs(speed);
  37.                         if(speed<0)
  38.                         {
  39.                                 in3=0;in4=1;
  40.                         }
  41.                         else
  42.                         {
  43.                                 in3=1;in4=0;
  44.                         }
  45.                        
  46.                 }
  47.         }
  48. }
  49. void delay(uint j)
  50. {
  51.         uint x,y;
  52.         for(x=j;x>0;x--)
  53.         for(y=120;y>0;y--);
  54. }
  55. void main()
  56. {
  57.         uchar i;
  58.         TMOD=0X02;
  59.         TH0=0X9B;
  60.         TL0=0X9B;
  61.         EA=1;
  62.         ET0=1;
  63.         TR0=1;
  64.         while(1)
  65.         {
  66.                 for(i=0;i<=100;i++)//正转加速
  67.                 {
  68.                         motor(1,i);
  69.                         motor(2,i);
  70.                         delay(500);
  71.                 }
  72.                 for(i=100;i>0;i--)//正转减速
  73.                 {
  74.                         motor(1,i);
  75.                         motor(2,i);
  76.                         delay(500);
  77.                 }
  78.                 for(i=0;i<=100;i++)//反转jia速
  79.                 {
  80.                         motor(1,-i);
  81.                         motor(2,-i);
  82.                         delay(500);
  83.                 }
  84.                 for(i=100;i>100;i--)//反转减速
  85.                 {
  86.                         motor(1,-i);
  87.                         motor(2,-i);
  88.                         delay(500);
  89.                 }
  90.         }
  91.        
  92. }
  93. void time0() interrupt 1
  94. {
  95.         if(t==0)
  96.         {
  97.                 tmp1=m1;
  98.                 tmp2=m2;
  99.         }
  100.         if(t<tmp1) ena=1;else ena=0;//产生电机1的PWM信号
  101.         if(t<tmp2) enb=1;else enb=0;//产生电机2的PWM信号
  102.         t++;
  103.         if(t>=100)//产生100次中断
  104.         t=0;//清零,成新开始中断
  105. }
复制代码

作者: 腾飞的龙    时间: 2015-7-23 11:11
ketangsz 发表于 2015-5-5 18:37
高手啊,佩服。多想有个这种小车。这个蓝牙模块是随便买就可以吗?

买从机的就行。不用买主从一体的。
作者: 腾飞的龙    时间: 2015-7-23 11:33
pkumiko 发表于 2015-4-4 23:02
楼主可以把它卖给我吗?

其实自己做也不是很难,最小系统加蓝牙模块上位机,L298驱动电机
作者: 腾飞的龙    时间: 2015-7-23 11:35
雁之铭 发表于 2015-4-16 19:49
下位机有C的程序吗。。学习一下
  1. #include<reg52.h>
  2. #include<math.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar BUFFER[4]={0};//从串口接收的数据
  6. uint i,j;
  7. sbit left_positive=P1^0;//左电机控制口
  8. sbit left_negative=P1^1;//左电机控制口
  9. sbit right_positive=P1^2;//右电机控制口
  10. sbit right_negative=P1^3;//右电机控制口

  11. void delay_1ms(uint i)
  12. {
  13.         uchar x,j;
  14.         for(j=0;j<i;j++)
  15.         for(x=0;x<=148;x++);
  16. }
  17. void com_int() interrupt 4//串口中断服务函数
  18. {
  19.         EA=0;
  20.         if(RI==1)//当硬件接收到一个数据,RI会置位
  21.         {
  22.                 if(SBUF==65)//这里减去48是因为
  23. //从电脑中发送过来的数据是(啊四可玛ASCIIUFFER[0]=SBUF-48
  24.                 {
  25.                          BUFFER[0]=3;//A
  26.                 }
  27.                 if(SBUF==68){BUFFER[0]=4;}//D
  28.                 if(SBUF==83){BUFFER[0]=2;}//S
  29.                 if(SBUF==87){BUFFER[0]=1;}//W
  30.                 if(SBUF==69){BUFFER[0]=0;}//E
  31.                 RI=0;
  32.                 }
  33.         EA=1;
  34. }
  35. void init()//串口初始化 11.0592M晶振,波特率9600
  36. {
  37.         TMOD=0X20;
  38.         PCON=0X00;
  39.         SCON=0x50;
  40.         TH1=0XFD;//设置波特率9600
  41.         TL1=0XFD;
  42.         ET1=1;
  43.         TR1=1;
  44.         ES=1;//开串口中断
  45.         REN=1;
  46.         SM0=0;
  47.         SM1=1;
  48.         EA=1;       
  49. }
  50. void qianjin()
  51. {
  52.         left_positive=1;//左电机
  53.         left_negative=0;//左电机
  54.                
  55.         right_positive=1;//右电机
  56.         right_negative=0;//右电机
  57.                
  58. }
  59. void houtui()
  60. {
  61.         left_positive=0;//左电机
  62.         left_negative=1;//左电机
  63.                
  64.         right_positive=0;//右电机
  65.         right_negative=1;//右电机       
  66. }
  67. void zuozhuan()
  68. {
  69.         left_positive=0;//左电机
  70.         left_negative=1;//左电机
  71.                
  72.         right_positive=1;//右电机
  73.         right_negative=0;//右电机       
  74. }
  75. void youzhuan()
  76. {
  77.         left_positive=1;//左电机
  78.         left_negative=0;//左电机
  79.                
  80.         right_positive=0;//右电机
  81.         right_negative=1;//右电机       
  82. }
  83. void tingzhi()
  84. {
  85.         left_positive=0;//左电机
  86.         left_negative=0;//左电机
  87.                
  88.         right_positive=0;//右电机
  89.         right_negative=0;//右电机       
  90. }
  91. void main()
  92. {
  93.         delay_1ms(100);
  94.         init();
  95.         while(1)
  96.         {
  97.                 switch(BUFFER[0])
  98.                 {
  99.                         case 0: tingzhi();break;
  100.                         case 1: qianjin();break;
  101.                         case 2: houtui();break;
  102.                         case 3: zuozhuan();break;
  103.                         case 4: youzhuan();break;
  104.                         default: break;
  105.                 }
  106.         }
  107.        
  108. }
复制代码

作者: 腾飞的龙    时间: 2015-7-23 11:36
雁之铭 发表于 2015-4-16 19:49
下位机有C的程序吗。。学习一下

这是一个蓝牙控制的下位机代码
作者: 腾飞的龙    时间: 2015-7-23 11:37
lxa0 发表于 2015-4-16 22:41
没有 C
只有汇编
.......................................
  1. #include<reg52.h>
  2. #include<math.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar BUFFER[4]={0};//从串口接收的数据
  6. uint i,j;
  7. sbit left_positive=P1^0;//左电机控制口
  8. sbit left_negative=P1^1;//左电机控制口
  9. sbit right_positive=P1^2;//右电机控制口
  10. sbit right_negative=P1^3;//右电机控制口

  11. void delay_1ms(uint i)
  12. {
  13.         uchar x,j;
  14.         for(j=0;j<i;j++)
  15.         for(x=0;x<=148;x++);
  16. }
  17. void com_int() interrupt 4//串口中断服务函数
  18. {
  19.         EA=0;
  20.         if(RI==1)//当硬件接收到一个数据,RI会置位
  21.         {
  22.                 if(SBUF==65)//这里减去48是因为
  23. //从电脑中发送过来的数据是(啊四可玛ASCIIUFFER[0]=SBUF-48
  24.                 {
  25.                          BUFFER[0]=3;//A
  26.                 }
  27.                 if(SBUF==68){BUFFER[0]=4;}//D
  28.                 if(SBUF==83){BUFFER[0]=2;}//S
  29.                 if(SBUF==87){BUFFER[0]=1;}//W
  30.                 if(SBUF==69){BUFFER[0]=0;}//E
  31.                 RI=0;
  32.                 }
  33.         EA=1;
  34. }
  35. void init()//串口初始化 11.0592M晶振,波特率9600
  36. {
  37.         TMOD=0X20;
  38.         PCON=0X00;
  39.         SCON=0x50;
  40.         TH1=0XFD;//设置波特率9600
  41.         TL1=0XFD;
  42.         ET1=1;
  43.         TR1=1;
  44.         ES=1;//开串口中断
  45.         REN=1;
  46.         SM0=0;
  47.         SM1=1;
  48.         EA=1;       
  49. }
  50. void qianjin()
  51. {
  52.         left_positive=1;//左电机
  53.         left_negative=0;//左电机
  54.                
  55.         right_positive=1;//右电机
  56.         right_negative=0;//右电机
  57.                
  58. }
  59. void houtui()
  60. {
  61.         left_positive=0;//左电机
  62.         left_negative=1;//左电机
  63.                
  64.         right_positive=0;//右电机
  65.         right_negative=1;//右电机       
  66. }
  67. void zuozhuan()
  68. {
  69.         left_positive=0;//左电机
  70.         left_negative=1;//左电机
  71.                
  72.         right_positive=1;//右电机
  73.         right_negative=0;//右电机       
  74. }
  75. void youzhuan()
  76. {
  77.         left_positive=1;//左电机
  78.         left_negative=0;//左电机
  79.                
  80.         right_positive=0;//右电机
  81.         right_negative=1;//右电机       
  82. }
  83. void tingzhi()
  84. {
  85.         left_positive=0;//左电机
  86.         left_negative=0;//左电机
  87.                
  88.         right_positive=0;//右电机
  89.         right_negative=0;//右电机       
  90. }
  91. void main()
  92. {
  93.         delay_1ms(100);
  94.         init();
  95.         while(1)
  96.         {
  97.                 switch(BUFFER[0])
  98.                 {
  99.                         case 0: tingzhi();break;
  100.                         case 1: qianjin();break;
  101.                         case 2: houtui();break;
  102.                         case 3: zuozhuan();break;
  103.                         case 4: youzhuan();break;
  104.                         default: break;
  105.                 }
  106.         }
  107.        
  108. }
复制代码

作者: 黄黄的    时间: 2015-8-4 15:07
楼主厉害啊
作者: 人生过客    时间: 2015-8-5 15:29
小车车挺有意思
作者: 腾飞的龙    时间: 2015-8-18 11:13
lxa0 发表于 2015-3-30 15:23
相关资料

有c程序就更好啦,汇编不懂。不过我有C的程序
作者: wanglu    时间: 2015-9-3 08:12
不错,虽然没看过。。。。
作者: wq2414745457    时间: 2015-9-24 23:33
一直都找不到完美的蓝牙小车,做不出来怎么办
作者: 江山美人    时间: 2015-9-30 17:52
根据你提供的资料,我也成功的做了一蓝牙小车。
作者: 学神我    时间: 2015-10-2 01:19
Mark,想做一个
作者: douhao    时间: 2015-10-5 07:22
上位机不好写啊,一直想找上位机的资料
作者: lxa0    时间: 2015-10-6 18:33
douhao 发表于 2015-10-5 07:22
上位机不好写啊,一直想找上位机的资料

网上有很多
本帖里我也发了一个~~~~~~~~~~
作者: lxa0    时间: 2015-10-6 18:34
前几天完工的:


作者: 76711031    时间: 2015-10-15 16:44
很好啊~~~
作者: Dk_ddk    时间: 2015-12-6 20:12
很好很好
作者: 电子发烧友1号    时间: 2016-3-4 14:29
楼主,楼主,我也在做,可是,我是电子大一新生,好多不懂、、、
作者: 阳光!    时间: 2016-3-21 16:10
好资料,谢谢楼主分享!!!
作者: lxa0    时间: 2016-3-27 20:36
感谢大家支持~~~~~~~~~~~~~
作者: 1678    时间: 2016-4-11 09:46
能调小车速度吗
作者: lxa0    时间: 2016-5-6 21:55
1678 发表于 2016-4-11 09:46
能调小车速度吗

现在还不能~~~~~~~~~~~
作者: tlok888    时间: 2016-5-11 16:11
很漂亮,学习学习
作者: 13059322739    时间: 2016-5-17 21:48
谢谢分享
作者: fmy    时间: 2016-5-18 21:21
太厉害了'
作者: chinomango    时间: 2016-5-24 06:44
要扣分就没啥意思了。
作者: 赤火隐士    时间: 2016-7-29 20:51
谢谢版主分享
作者: 雨辉天涯    时间: 2016-8-11 14:58
谢谢楼主
作者: 杨程123    时间: 2016-8-12 15:14
谢谢楼主
作者: 杨程123    时间: 2016-8-12 15:15
谢谢楼主的大恩大德
作者: 461534727    时间: 2016-10-19 17:38
厉害了
作者: 梦不虚存    时间: 2016-11-27 14:51
厉害厉害!好好学习哈
作者: Ashily丶恒    时间: 2017-4-1 13:35
在操作中,不过编写程序不会额,装备以配齐
作者: 小唐唐    时间: 2017-4-16 15:46
很好资料                           
作者: lxa0    时间: 2017-4-18 00:26
Ashily丶恒 发表于 2017-4-1 13:35
在操作中,不过编写程序不会额,装备以配齐

直接套用我这个就可以
作者: 13756176595    时间: 2017-5-9 10:56
。。。。。。。。
作者: jamyg    时间: 2017-5-11 09:34
不错,51有你更精彩
作者: dkkn    时间: 2017-5-17 14:32
感谢分享
作者: 51hkj    时间: 2017-5-20 19:02
可以左转 右转吗
作者: 51hkj    时间: 2017-5-23 10:49
楼主  最小系统不用烧录程序进去吗
作者: 13852833337    时间: 2017-6-11 07:14
不错,很简单,但也很实用
作者: lxa0    时间: 2017-6-12 23:29
13852833337 发表于 2017-6-11 07:14
不错,很简单,但也很实用

谢谢你和大家的支持!
作者: 看着我    时间: 2017-7-27 12:17
谢谢楼主,学习咯~
作者: lshsllxs123    时间: 2017-7-30 22:18
学习学习

作者: 阔爱的钊钊    时间: 2017-8-12 11:38
厉害了,最近也打算搞遥控车,不知道用蓝牙还是2
作者: 赤火隐士    时间: 2017-9-8 12:35
谢谢楼主分享,谢谢
作者: 我是柔情剑客    时间: 2018-5-21 21:22
这小车是不是不能后退呀
作者: roachwz    时间: 2019-4-19 18:54
lxa0 发表于 2015-10-6 18:34
前几天完工的:

这个厉害




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