標題: 藍牙小車制作資料下載 含程序 教程 手機app 原理圖 [打印本頁]

作者: 青春風鈴    時間: 2016-10-27 19:09
標題: 藍牙小車制作資料下載 含程序 教程 手機app 原理圖

制作資料打包下載:
《藍牙車資料包》.rar (10.4 MB, 下載次數: 424)

藍牙小車制作成功后的實物圖:

藍牙小車電路原理圖:


藍牙小車元件清單:
/*****基本車體一部*****/
1、小車上下平面板 2個
2、前端擴展固定片 1個
3、優(yōu)質彈性橡膠輪 2個
4、Mini直流減速電機 2個
5、鋁合金萬向輪 1個
6、鋁合金電機固定支架 2套
7、40mm長銅柱 4個
8、固定螺絲/螺帽 12套
9、車體組裝說明書 一份

/*****單片機系統模塊****/
1、5x7cm洞洞板、
2、自鎖開關、
3、DIP40鎖緊座、
4、單片機、
5、晶振、
6、LED、
7、470電阻、
8、4.7K排阻、
9、30P瓷片電容2個、
10、排針44個。
11、1cm銅柱+螺絲+螺母4套
12、導線50cm
13、說明書一份

/****驅動模塊****/
1、5x7cm洞洞板
2、自鎖開關
3、L7805穩(wěn)壓芯片
4、LED
5、470電阻
6、雙孔接線端子三個
7、10u電解電容
8、4P排針三個
9、9110驅動芯片兩個
10、DIP8插槽兩個
11、1cm銅柱+螺絲+螺母四套
12、導線50cm
13、說明書一份

/****藍牙模塊****/
1、5*7cm萬用板一個        
2、紅LED兩個
3、白LED三個        
4、藍LED一個
5、8550三極管兩個
6、1117穩(wěn)壓芯片一個
7、1K電阻五個
8、8P排針一個
9、蜂鳴器一個            
10、銅柱+螺母+螺絲兩套   
11、導線50cm
12、說明書一份

/****贈送品****/
杜邦線14根
電子資料

單片機源碼:
  1. /************************************
  2. 課題:藍牙控制小車
  3. 效果:小車能與手機藍牙連接,實現前進、后退、左轉、右轉、開燈、鳴笛、轉向燈、重力感應控制等功能。
  4. 作者:change
  5. 店鋪:穿山乙電子
  6. 硬件鏈接:
  7.         左電機控制端口:P0.0、P0.1
  8.         右電機控制端口:P0.2、P0.3                     
  9. *************************************/

  10. #include<reg52.h>//聲明頭文件
  11. #define uchar unsigned char//宏定義
  12. #define uint unsigned int//宏定義
  13. #define aa 35//左輪速度調節(jié)值
  14. #define bb 35//右輪速度調節(jié)值

  15. sbit deng=P2^0;//前車燈
  16. sbit y=P2^1;//右轉向燈
  17. sbit z=P2^2;//左轉向燈
  18. sbit BEEP=P2^3;//蜂鳴器

  19. sbit you1=P0^3;//右輪正轉信號端
  20. sbit you2=P0^2;//右輪倒轉信號端
  21. sbit zuo1=P0^1;//左輪正轉信號端
  22. sbit zuo2=P0^0;//左輪倒轉信號端

  23. uchar a=0;//定義一個變量a,用來讀取串口的數據

  24. void delay(uint z)//一個帶參數的延時程序
  25. {
  26.         int i,j;//定義兩個變量
  27.         for(i=10;i>0;i--)
  28.         for(j=z;j>0;j--);//將參數z賦值給j
  29. }

  30. void init()//初始化子程序
  31. {
  32.         TMOD=0x20;//設置定時器T1為工作方式2
  33.         TH1=0xfd;
  34.         TL1=0xfd;//T1定時器裝初值
  35.         TR1=1;//啟動定時器T1
  36.         REN=1;//允許串口接收
  37.         SM0=0;
  38.         SM1=1;//設置串口工作方式1
  39.         EA=1;//開總中斷
  40.         ES=1;//開串口中斷
  41. }

  42. void go1()//前進子程序
  43. {
  44.         zuo1=1;
  45.         zuo2=0;//左邊輪子正轉
  46.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  47.         zuo2=1;//關閉左邊輪子

  48.         you1=1;
  49.         you2=0;        //右邊輪子正轉
  50.         delay(bb);//pwm有用值,越大右邊的輪子越快
  51.         you2=1;//關閉右邊輪子

  52.         delay(100);//pwm無用值,越大,小車跑的越慢
  53.         z=1;
  54.         y=1;//關閉轉向燈
  55. }

  56. void go2()//前進子程序
  57. {
  58.         zuo1=1;
  59.         zuo2=0;//左邊輪子正轉
  60.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  61.         zuo2=1;//關閉左邊輪子

  62.         you1=1;
  63.         you2=0;        //右邊輪子正轉
  64.         delay(bb);//pwm有用值,越大右邊的輪子越快
  65.         you2=1;//關閉右邊輪子

  66.         delay(80);//pwm無用值,越大,小車跑的越慢
  67.         z=1;
  68.         y=1;//關閉轉向燈
  69. }

  70. void go3()//前進子程序
  71. {
  72.         zuo1=1;
  73.         zuo2=0;//左邊輪子正轉
  74.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  75.         zuo2=1;//關閉左邊輪子

  76.         you1=1;
  77.         you2=0;        //右邊輪子正轉
  78.         delay(bb);//pwm有用值,越大右邊的輪子越快
  79.         you2=1;//關閉右邊輪子

  80.         delay(60);//pwm無用值,越大,小車跑的越慢
  81.         z=1;
  82.         y=1;//關閉轉向燈
  83. }

  84. void go4()//前進子程序
  85. {
  86.         zuo1=1;
  87.         zuo2=0;//左邊輪子正轉
  88.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  89.         zuo2=1;//關閉左邊輪子

  90.         you1=1;
  91.         you2=0;        //右邊輪子正轉
  92.         delay(bb);//pwm有用值,越大右邊的輪子越快
  93.         you2=1;//關閉右邊輪子

  94.         delay(40);//pwm無用值,越大,小車跑的越慢
  95.         z=1;
  96.         y=1;//關閉轉向燈
  97. }

  98. void go5()//前進子程序
  99. {
  100.         zuo1=1;
  101.         zuo2=0;//左邊輪子正轉
  102.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  103.         zuo2=1;//關閉左邊輪子

  104.         you1=1;
  105.         you2=0;        //右邊輪子正轉
  106.         delay(bb);//pwm有用值,越大右邊的輪子越快
  107.         you2=1;//關閉右邊輪子

  108.         delay(20);//pwm無用值,越大,小車跑的越慢
  109.         z=1;
  110.         y=1;//關閉轉向燈
  111. }

  112. void go6()//前進子程序
  113. {
  114.         zuo1=1;
  115.         zuo2=0;//左邊輪子正轉
  116.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  117.         zuo2=1;//關閉左邊輪子

  118.         you1=1;
  119.         you2=0;        //右邊輪子正轉
  120.         delay(bb);//pwm有用值,越大右邊的輪子越快
  121.         you2=1;//關閉右邊輪子

  122.         z=1;
  123.         y=1;//關閉轉向燈
  124. }

  125. void hui1()//小車后退的子程序
  126. {
  127.         zuo1=0;
  128.         zuo2=1;//左邊輪子倒轉
  129.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  130.         zuo1=1;//關閉左邊輪子

  131.         you1=0;
  132.         you2=1;        //右邊輪子倒轉
  133.         delay(bb);//pwm有用值,越大右邊的輪子越快
  134.         you1=1;//關閉右邊輪子

  135.         delay(100);//pwm無用值,越大,小車跑的越慢
  136.         z=1;
  137.         y=1;//關閉轉向燈
  138. }

  139. void hui2()//小車后退的子程序
  140. {
  141.         zuo1=0;
  142.         zuo2=1;//左邊輪子倒轉
  143.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  144.         zuo1=1;//關閉左邊輪子

  145.         you1=0;
  146.         you2=1;        //右邊輪子倒轉
  147.         delay(bb);//pwm有用值,越大右邊的輪子越快
  148.         you1=1;//關閉右邊輪子

  149.         delay(80);//pwm無用值,越大,小車跑的越慢
  150.         z=1;
  151.         y=1;//關閉轉向燈
  152. }

  153. void hui3()//小車后退的子程序
  154. {
  155.         zuo1=0;
  156.         zuo2=1;//左邊輪子倒轉
  157.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  158.         zuo1=1;//關閉左邊輪子

  159.         you1=0;
  160.         you2=1;        //右邊輪子倒轉
  161.         delay(bb);//pwm有用值,越大右邊的輪子越快
  162.         you1=1;//關閉右邊輪子

  163.         delay(60);//pwm無用值,越大,小車跑的越慢
  164.         z=1;
  165.         y=1;//關閉轉向燈
  166. }

  167. void hui4()//小車后退的子程序
  168. {
  169.         zuo1=0;
  170.         zuo2=1;//左邊輪子倒轉
  171.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  172.         zuo1=1;//關閉左邊輪子

  173.         you1=0;
  174.         you2=1;        //右邊輪子倒轉
  175.         delay(bb);//pwm有用值,越大右邊的輪子越快
  176.         you1=1;//關閉右邊輪子

  177.         delay(40);//pwm無用值,越大,小車跑的越慢
  178.         z=1;
  179.         y=1;//關閉轉向燈
  180. }
  181. void hui5()//小車后退的子程序
  182. {
  183.         zuo1=0;
  184.         zuo2=1;//左邊輪子倒轉
  185.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  186.         zuo1=1;//關閉左邊輪子

  187.         you1=0;
  188.         you2=1;        //右邊輪子倒轉
  189.         delay(bb);//pwm有用值,越大右邊的輪子越快
  190.         you1=1;//關閉右邊輪子

  191.         delay(20);//pwm無用值,越大,小車跑的越慢
  192.         z=1;
  193.         y=1;//關閉轉向燈
  194. }
  195. void hui6()//小車后退的子程序
  196. {
  197.         zuo1=0;
  198.         zuo2=1;//左邊輪子倒轉
  199.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  200.         zuo1=1;//關閉左邊輪子

  201.         you1=0;
  202.         you2=1;        //右邊輪子倒轉
  203.         delay(bb);//pwm有用值,越大右邊的輪子越快
  204.         you1=1;//關閉右邊輪子

  205.         z=1;
  206.         y=1;//關閉轉向燈
  207. }

  208. void turnleft()//小車左轉彎子程序
  209. {
  210.        
  211.         z=~z;//左轉向燈打開

  212.         zuo1=1;
  213.         zuo2=1;//左邊輪子停止轉動
  214.         you1=1;
  215.         you2=0;        //右邊輪子正轉
  216.         delay(bb);//pwm有用值,越大右邊的輪子越快
  217.         you2=1;//右邊輪子停止
  218.         delay(50);//pwm無用值,越大,小車跑的越慢
  219.        
  220.         z=1;
  221.         y=1;//關閉轉向燈
  222. }

  223. void turnright()//小車右轉彎子程序
  224. {
  225.         y=~y;//右轉向燈打開

  226.         zuo1=1;
  227.         zuo2=0;//左邊輪子正轉
  228.         delay(aa);//pwm有用值,越大左邊方向的輪子越快
  229.         zuo2=1;//左邊輪子停止

  230.         you1=1;
  231.         you2=1;        //右邊輪子停止
  232.         delay(50);//pwm無用值,越大,小車跑的越慢
  233.         z=1;
  234.         y=1;//關閉轉向燈
  235.        
  236. }
  237. void down()//停止子程序
  238. {
  239.         zuo1=1;
  240.         zuo2=1;
  241.         you1=1;
  242.         you2=1;        //左右輪全部停止
  243.         z=1;
  244.         y=1;//關閉轉向燈
  245. }

  246. void main()//主程序
  247. {
  248.         init();//調用初始化子程序
  249.         while(1)//死循環(huán)
  250.         {
  251.                     if(a==0x14||a==0x15||a==0x54||a==0x55||a==0x64||a==0x65)//如果是就前進
  252.                         go1();
  253.                         if(a==0x16||a==0x17||a==0x56||a==0x57||a==0x66||a==0x67)//如果是就前進
  254.                         go2();
  255.                         if(a==0x18||a==0x19||a==0x58||a==0x59||a==0x68||a==0x69)//如果是就前進
  256.                         go3();
  257.                         if(a==0x1a||a==0x1b||a==0x5a||a==0x5b||a==0x6a||a==0x6b)//如果是就前進
  258.                         go4();
  259.                         if(a==0x1c||a==0x1d||a==0x5c||a==0x5d||a==0x6c||a==0x6d)//如果是就前進
  260.                         go5();
  261.                         if(a==0x1e||a==0x1f||a==0x5e||a==0x5f||a==0x6e||a==0x6f)//如果是就前進
  262.                         go6();

  263.                     if(a==0x24||a==0x25||a==0x74||a==0x75||a==0x84||a==0x85)//如果是就后退
  264.                         hui1();
  265.                         if(a==0x26||a==0x27||a==0x76||a==0x77||a==0x86||a==0x87)//如果是就后退
  266.                         hui2();
  267.                         if(a==0x28||a==0x29||a==0x78||a==0x79||a==0x88||a==0x89)//如果是就后退
  268.                         hui3();
  269.                         if(a==0x2a||a==0x2b||a==0x7a||a==0x7b||a==0x8a||a==0x8b)//如果是就后退
  270.                         hui4();
  271.                         if(a==0x2c||a==0x2d||a==0x7c||a==0x7d||a==0x8c||a==0x8d)//如果是就后退
  272.                         hui5();
  273.                         if(a==0x2e||a==0x2f||a==0x7e||a==0x7d||a==0x8e||a==0x8f)//如果是就后退
  274.                         hui6();

  275.                         if(a==0x3f)//如果是0x3f就左轉
  276.                         turnleft();
  277.                         if(a==0x4f)//如果是0x4f就右轉
  278.                         turnright();
  279.                         if(a==0x00)//如果是0x00就停止
  280.                         down();
  281.                         if(a==0xa0)//如果是0xa0車燈打開
  282.                         deng=0;
  283.                         if(a==0xb0)//如果是0xb0車燈關閉
  284.                         deng=1;
  285.                         if(a==0xc0)//如果是0xc0蜂鳴器鳴響
  286.                         BEEP=0;                       
  287.                         if(a==0xd0)//如果是0xd0蜂鳴器關
  288.                         BEEP=1;
  289.                        
  290.                         else
  291.                         down();
  292.                 }       
  293. }       

  294. void chuan() interrupt 4//串口中斷服務程序
  295. {
  296.         RI=0;//軟件清除串口響應
  297.         a=SBUF;//讀取單片機串口接受的藍牙模塊發(fā)送的數據
  298. }
  299. /******************************************

  300. 知識產權聲明:本程序為穿山乙電子原創(chuàng)作品,
  301. 擁有絕對的知識產權。未經授權,任何單位和個
  302. 人不得公開發(fā)布或用于任何商業(yè)用途,特此聲明!

  303. *******************************************/
復制代碼


作者: was9989    時間: 2016-12-29 10:47
能告知下 支持安卓幾點版本嗎?
作者: gqq1983gqq    時間: 2017-1-6 10:39
看上去真心不錯~~~
作者: bbq123bbq    時間: 2017-1-8 16:26
看上去不錯~~~測試下
作者: laomogu    時間: 2017-1-28 11:43
這個不錯,學習一下
作者: 追逐繁星    時間: 2017-2-5 14:16
這個手機軟件是自己做的嗎?
作者: 51鄭    時間: 2017-2-20 22:34
謝謝分享
作者: bbq123bbq    時間: 2017-2-23 20:15
看上去不錯~~~測試下
作者: hyj141574    時間: 2017-3-8 20:36
這里面沒有手機APP的源代碼啊

作者: hyj141574    時間: 2017-3-8 20:47
這里面沒有手機APP的源代碼。“鬃屛一ㄥX充黑幣
作者: 51黑電子論壇fan    時間: 2017-3-8 23:00
hyj141574 發(fā)表于 2017-3-8 20:36
這里面沒有手機APP的源代碼啊

分享2個藍牙小車手機app源碼:http://www.torrancerestoration.com/bbs/dpj-78590-1.html
作者: LZY5200    時間: 2017-3-18 21:43
謝謝分享                                                        
作者: c03131401    時間: 2017-3-27 14:02
好想做一個,藍牙模塊有型號嗎
作者: pps2017    時間: 2017-3-27 23:56
贊一個
作者: 夜漫亭    時間: 2017-3-28 14:03
正好準備做一個藍牙小車
作者: Ashily丶恒    時間: 2017-4-5 10:08
666,很好很大氣,加燈泡控制的
作者: Ashily丶恒    時間: 2017-4-6 11:05
怎么我的沒反應啊
作者: wsz_wsz    時間: 2017-4-15 22:17
為甚下載總是失敗
作者: 回憶淺離    時間: 2017-12-28 13:57
正在找這個軟件
作者: shourufeng    時間: 2017-12-29 14:23
新手來學習
作者: 874    時間: 2018-4-21 10:51
新手學習
作者: zzfzlian    時間: 2018-9-27 12:18
學習一下

作者: gemxie    時間: 2018-10-12 14:20
感覺挺不錯的樣子哦,下載下來學習學習
作者: 江渚鷺鷥    時間: 2019-1-29 02:18
良心貼  好教程,感謝樓主,更得感謝教程的原創(chuàng)作者
作者: zhlip    時間: 2019-6-24 20:27
感謝分享
作者: 水水水啊颯颯    時間: 2019-7-10 09:15
謝謝大佬的分享




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1