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

QQ登錄

只需一步,快速開(kāi)始

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

藍(lán)牙+舵機(jī)的Arduino驅(qū)動(dòng)源碼分享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:424598 發(fā)表于 2018-11-22 21:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/*注意事項(xiàng):(在燒寫(xiě)的過(guò)程中,請(qǐng)先斷開(kāi)藍(lán)牙模塊和Nano板的連接,否則會(huì)燒不進(jìn)程序。)
1.寫(xiě)代碼到Arduino板上時(shí),數(shù)字0和1口不能接線,必需撥掉(不要帶電撥線,容易燒)
2.藍(lán)牙的TX口接Arduino板上的0口,RX口接Arduino板上的1口
*/
#include <Servo.h>    // 聲明調(diào)用Servo.h庫(kù)
Servo myservo;        // 創(chuàng)建一個(gè)舵機(jī)對(duì)象
int pos = 0;
// 變量pos用來(lái)存儲(chǔ)舵機(jī)位置
void setup() {
   Serial.begin(9600);        //串口波特率(使用藍(lán)牙串口必需此句)
   //舵機(jī)引出三根線。一根是紅色,連到+5V上。一根棕色(有些是黑的),連到GND。
   //還有一根是黃色或者橘色,連到數(shù)字引腳9。
   myservo.attach(9);  // 將引腳9上的舵機(jī)與聲明的舵機(jī)對(duì)象連接起來(lái)
}

void loop() {
  while(Serial.available())   //判斷緩沖器狀態(tài)。
   {  
     char c=Serial.read();    //讀取串口
     if(c=='A')               //判斷串口是否等于A
      {
        for(pos = 0; pos < 180; pos += 1){    // 舵機(jī)從0°轉(zhuǎn)到180°,每次增加1°         
            myservo.write(pos);           // 給舵機(jī)寫(xiě)入角度   
            delay(15);                    // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
        }
        Serial.println("LEFT");//   串口輸出數(shù)據(jù)并帶回車符。
      }
      if(c=='B')               //判斷串口是否等于B
      {
        for(pos = 180; pos>=1; pos-=1) {    // 舵機(jī)從180°轉(zhuǎn)回到0°,每次減小1°                              
           myservo.write(pos);        // 寫(xiě)角度到舵機(jī)     
           delay(15);                 // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
        }  
        Serial.println("RIGHT");//   串口輸出數(shù)據(jù)并帶回車符。
      }
   }         
}


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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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