找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7491|回復(fù): 10
收起左側(cè)

語音控制C51單片機藍牙單片機小車源程序,帶安卓APP

  [復(fù)制鏈接]
ID:244968 發(fā)表于 2018-7-30 09:17 | 顯示全部樓層 |閱讀模式
能夠通過安卓手機用藍牙控制,附源碼,帶APP,安裝語記APP后,設(shè)定好全局設(shè)置可以語音控
0.png

單片機源程序如下:
  1. #include <reg52.h>
  2. #include "car.h"         //自己編寫的頭文件,里面有函數(shù)聲明

  3. /********************************/
  4. /*              清空電機控制IO位                        */
  5. /********************************/
  6. void CleanRun()
  7. {
  8.         left_a = 0;
  9.         left_b = 0;
  10.         right_a = 0;
  11.         right_b = 0;
  12. }

  13. /********************************/
  14. /*        根據(jù)接收到的數(shù)據(jù),控制小車        */
  15. /********************************/
  16. void Run()
  17. {
  18.         uchar delaytime = 50;                                                //前進、后退、側(cè)向前進的延時時間
  19.         uchar little_delaytime = 22;                //轉(zhuǎn)彎的延時時間
  20.         switch(recvbuf)
  21.                                 {
  22.                                         case 0x00:        //停止
  23.                                         {
  24.                                                 left_a = 0;                                                //不轉(zhuǎn)
  25.                                                 left_b = 0;
  26.                                                 right_a = 0;                                        //不轉(zhuǎn)
  27.                                                 right_b = 0;
  28.                                                 break;
  29.                                         }
  30.                                         case 0x01:        //前進
  31.                                         {
  32.                                                 left_a = 1;                                                //正轉(zhuǎn)
  33.                                                 left_b = 0;
  34.                                                 right_a = 1;                                        //正轉(zhuǎn)
  35.                                                 right_b = 0;
  36.                                                 delayms(delaytime);
  37.                                                 break;
  38.                                         }
  39.                                         case 0x02:        //后退
  40.                                         {
  41.                                                 left_a = 0;                                                //反轉(zhuǎn)
  42.                                                 left_b = 1;
  43.                                                 right_a = 0;                                        //反轉(zhuǎn)
  44.                                                 right_b = 1;
  45.                                                 delayms(delaytime);
  46.                                                 break;
  47.                                         }
  48.                                         case 0x03:        //左轉(zhuǎn)
  49.                                         {
  50.                                                 left_a = 0;                                                //不轉(zhuǎn)
  51.                                                 left_b = 0;
  52.                                                 right_a = 1;                                        //正轉(zhuǎn)
  53.                                                 right_b = 0;
  54.                                                 delayms(little_delaytime);
  55.                                                 break;
  56.                                         }
  57.                                         case 0x04:        //右轉(zhuǎn)
  58.                                         {
  59.                                                 left_a = 1;                                                //正轉(zhuǎn)
  60.                                                 left_b = 0;
  61.                                                 right_a = 0;                                        //不轉(zhuǎn)
  62.                                                 right_b = 0;
  63.                                                 delayms(little_delaytime);
  64.                                                 break;
  65.                                         }
  66.                                         case 0x05:        //前左方向運行
  67.                                         {
  68.                                                 right_a = 1;                                        //正轉(zhuǎn)
  69.                                                 right_b = 0;
  70.                                                 left_b = 0;                                                //半速正轉(zhuǎn)
  71.                                                 StartPwm(lefta);                        //開啟定時器,設(shè)定產(chǎn)生PWM的引腳
  72.                                                 delayms(delaytime);                //延時一段時間
  73.                                                 StopPwm();                                                //關(guān)閉定時器
  74.                                                 break;
  75.                                         }
  76.                                         case 0x06:        //前右方向運行
  77.                                         {
  78.                                                 left_a = 1;                                                //正轉(zhuǎn)
  79.                                                 left_b = 0;
  80.                                                 right_b = 0;                                        //半速正轉(zhuǎn)
  81.                                                 StartPwm(righta);
  82.                                                 delayms(delaytime);
  83.                                                 StopPwm();
  84.                                                 break;
  85.                                         }
  86.                                         case 0x07:        //后左方向運行
  87.                                         {
  88.                                                 right_a = 0;                                        //后轉(zhuǎn)
  89.                                                 right_b = 1;
  90.                                                 left_a = 0;                                                //半速后轉(zhuǎn)
  91.                                                 StartPwm(leftb);
  92.                                                 delayms(delaytime);
  93.                                                 StopPwm();
  94.                                                 break;
  95.                                         }
  96.                                         case 0x08:        //后右方向運行
  97.                                         {
  98.                                                 left_a = 0;                                                //后轉(zhuǎn)
  99.                                                 left_b = 1;
  100.                                                 right_a = 0;                                        //半速后轉(zhuǎn)
  101.                                                 StartPwm(rightb);
  102.                                                 delayms(delaytime);
  103.                                                 StopPwm();
  104.                                                 break;
  105.                                         }
  106.                                         case 0x09:        //原地順時針旋轉(zhuǎn)
  107.                                         {
  108.                                                 left_a = 1;
  109.                                                 left_b = 0;
  110.                                                 right_a = 0;
  111.                                                 right_b = 1;
  112.                                                 delayms(delaytime);
  113.                                                 break;
  114.                                         }
  115.                                         case 0x0a:        //原地逆時針旋轉(zhuǎn)
  116.                                         {
  117.                                                 left_a = 0;
  118.                                                 left_b = 1;
  119.                                                 right_a = 1;
  120.                                                 right_b = 0;
  121.                                                 delayms(delaytime);
  122.                                                 break;
  123.                                         }
  124.                                 }
  125. }
復(fù)制代碼

所有資料51hei提供下載:
小車控制藍牙語音版.zip (1.73 MB, 下載次數(shù): 77)
Car_V1.2簡單協(xié)議藍牙版.zip (66.48 KB, 下載次數(shù): 52)


評分

參與人數(shù) 2黑幣 +55 收起 理由
kljie1000 + 5
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:368001 發(fā)表于 2019-4-1 16:02 | 顯示全部樓層
您好,APP的源程序,您能送給我嗎
回復(fù)

使用道具 舉報

ID:368001 發(fā)表于 2019-4-1 16:08 | 顯示全部樓層
您好,您可以給我一個您的聯(lián)系方式嗎?我有問題請教您
回復(fù)

使用道具 舉報

ID:368001 發(fā)表于 2019-4-1 16:51 | 顯示全部樓層
您好,非常感謝
回復(fù)

使用道具 舉報

ID:229821 發(fā)表于 2019-4-2 12:26 | 顯示全部樓層
謝謝分享。下載了。謝謝啊。
回復(fù)

使用道具 舉報

ID:479948 發(fā)表于 2019-4-6 16:16 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報

ID:407374 發(fā)表于 2019-5-6 10:07 | 顯示全部樓層
有沒有具體的電路
回復(fù)

使用道具 舉報

ID:146874 發(fā)表于 2019-5-29 16:15 | 顯示全部樓層
感謝樓主分享,正在學(xué)習(xí)這方面的小車控制
回復(fù)

使用道具 舉報

ID:460452 發(fā)表于 2019-6-2 16:03 | 顯示全部樓層
好資源共享用。!
回復(fù)

使用道具 舉報

ID:460452 發(fā)表于 2019-6-2 16:31 | 顯示全部樓層
想問一下那個頭文件怎么處理???
回復(fù)

使用道具 舉報

ID:558927 發(fā)表于 2019-6-10 14:03 | 顯示全部樓層
有沒有具體的圖片
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表