找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3312|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

arduino藍(lán)牙小車?yán)?/span>

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:281603 發(fā)表于 2018-2-2 13:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這里有一個(gè)mega2560的藍(lán)牙小車?yán)毯痛蠹曳窒硐隆?br />
  1. #include <Wire.h>
  2. #include <Servo.h>
  3. #include <LiquidCrystal.h>
  4. #include <PID_v1.h>


  5. /************ 轉(zhuǎn)向舵機(jī)參數(shù) ***********/
  6. Servo myservo;        //建立一個(gè)舵機(jī)對(duì)象,名稱為 myservo
  7. int x=100;
  8. /*********** 馬達(dá)控制參數(shù) **********/
  9. const unsigned char pinMotorLCW  = 6;   // 接控制電機(jī)順時(shí)針轉(zhuǎn)的 H 橋引腳
  10. const unsigned char pinMotorLCCW = 5;   // 接控制電機(jī)逆時(shí)針轉(zhuǎn)的 H 橋引腳
  11. const unsigned char pinMotorRCW  = 9;   // 接控制電機(jī)順時(shí)針轉(zhuǎn)的 H 橋引腳
  12. const unsigned char pinMotorRCCW = 10;   // 接控制電機(jī)逆時(shí)針轉(zhuǎn)的 H 橋引腳

  13. int speedpin=8;//定義EA(PWM調(diào)速)接口


  14. // 電機(jī)停轉(zhuǎn)
  15. void motorStop()
  16. {
  17.     digitalWrite(pinMotorRCW,  LOW);
  18.     digitalWrite(pinMotorRCCW, LOW);
  19.         digitalWrite(pinMotorLCW,  LOW);
  20.     digitalWrite(pinMotorLCCW, LOW);
  21.        analogWrite(speedpin,255);
  22. }

  23. // 小車前進(jìn)
  24. void motorAhead(int a)         //給電機(jī)輸入一個(gè)電壓值a(a在0-255之間)  調(diào)速
  25. {
  26.     digitalWrite(pinMotorRCW,  HIGH);
  27.     digitalWrite(pinMotorRCCW, LOW);
  28.         digitalWrite(pinMotorLCW,  HIGH);
  29.     digitalWrite(pinMotorLCCW, LOW);
  30.     analogWrite(speedpin,a);
  31. }
  32. // 小車左轉(zhuǎn)
  33. void motorLeft(int a)               //給電機(jī)輸入一個(gè)電壓值a(a在0-255之間).  調(diào)速
  34. {
  35.     digitalWrite(pinMotorRCW,  LOW);
  36.     digitalWrite(pinMotorRCCW, HIGH);
  37.         digitalWrite(pinMotorLCW,  HIGH);
  38.     digitalWrite(pinMotorLCCW, LOW);
  39.       analogWrite(speedpin,a);
  40. }
  41. // 小車右轉(zhuǎn)
  42. void motorRight(int a)               //給電機(jī)輸入一個(gè)電壓值a(a在0-255之間).  調(diào)速
  43. {
  44.     digitalWrite(pinMotorLCW,  LOW);
  45.     digitalWrite(pinMotorLCCW, HIGH);
  46.         digitalWrite(pinMotorRCW,  HIGH);
  47.     digitalWrite(pinMotorRCCW, LOW);
  48.       analogWrite(speedpin,a);
  49. }
  50. // 小車后退
  51. void motorBack(int a)               //給電機(jī)輸入一個(gè)電壓值a(a在0-255之間).  調(diào)速
  52. {
  53.     digitalWrite(pinMotorRCW,  LOW);
  54.     digitalWrite(pinMotorRCCW, HIGH);
  55.         digitalWrite(pinMotorLCW,  LOW);
  56.     digitalWrite(pinMotorLCCW, HIGH);
  57.       analogWrite(speedpin,a);
  58. }
  59. void setup()
  60. {
  61. Serial.begin(9600);
  62.       myservo.attach(13);                             //將引腳 13 上的舵機(jī)與舵機(jī)對(duì)象連接起來
  63.     digitalWrite(pinMotorRCW,  LOW);                  //電機(jī)初始化
  64.     digitalWrite(pinMotorRCCW, HIGH);
  65.         digitalWrite(pinMotorLCW,  LOW);                  //電機(jī)初始化
  66.     digitalWrite(pinMotorLCCW, HIGH);
  67.       analogWrite(speedpin,255);
  68. }

  69. void loop()
  70. {
  71.   while(Serial.available())
  72.    {   
  73.      char c=Serial.read();
  74.       if(c=='S')motorStop();
  75.       if(c=='A')motorAhead(80);
  76.       if(c=='B')motorBack(80);
  77.        if(c=='s')motorAhead(250);
  78.       if(c=='L')motorLeft(80);
  79.        if(c=='O')myservo.write(100);
  80.       if(c=='R')motorRight(80);   
  81.        if(c=='E')myservo.write(170);
  82.        if(c=='F')myservo.write(30);                  
  83.    }
  84. }
復(fù)制代碼

下載:
__.rar (933 Bytes, 下載次數(shù): 17)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:284606 發(fā)表于 2018-2-28 20:59 | 只看該作者
這是串口控制的,沒有加入藍(lán)牙部分。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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