天天看點

arduino舵機代碼_Arduino如何同時使用多個序列槽

問題

如果想要給Arduino UNO R3同時接上WiFi子產品和藍牙子產品時,但是Arduino的序列槽隻有一個,怎樣才能讓Arduino同時使用多個序列槽呢?

arduino舵機代碼_Arduino如何同時使用多個序列槽

解決方案

其實Arduino官方提供了一個軟序列槽的庫SoftwareSerial,不需要額外的去庫管理面闆中導入,隻需一句include語句就可以使用它

#include

這個庫可以将Arduino的引腳,通過程式模拟成序列槽來使用;在聲明語句中使用

SoftwareSerial mySerial(2,3);

便建立了一個自定義的軟序列槽mySerial,并把數字引腳2定義成RX,數字引腳3定義成TX

實驗驗證

我們現在通過實驗驗證軟序列槽是否有效;讓藍牙子產品的TXD和RXD接在Arduino的D2、和D3上,通過手機藍牙序列槽調試助手發送資料給HC-05子產品,如果軟序列槽有效則成功控制舵機;

arduino舵機代碼_Arduino如何同時使用多個序列槽
代碼

#include

#include

SoftwareSerial mySerial(2,3); //定義D2、D3分别為TX、RX

Servo myservo;

int pos = 0;

void setup()

{

mySerial.begin(9600); //以9600波特率打開軟序列槽

myservo.attach(9); //舵機控制引腳9

myservo.write(0);

delay(10000);

}

void loop()

{

while(mySerial.available())

{ char c;

c=mySerial.read();

mySerial.println (c);

switch(c){

case '2':open_the_door();

break;

}

}

}

void open_the_door(){

for (pos = 0; pos <= 180; pos += 1) {

myservo.write(pos);

delay(5);

}

}

測試結果

arduino舵機代碼_Arduino如何同時使用多個序列槽

手機藍牙連接配接上HC-05子產品後,發送字元串,成功控制舵機

最後

使用軟序列槽,有兩點好處;

好處一:arduino就可以同時使用藍牙子產品和WiFi子產品,再也不用為序列槽不夠用而發愁了!

好處二:使用軟序列槽連接配接,就不用擔心燒錄程式時的序列槽幹擾問題了,如果經常使用序列槽連接配接藍牙或者WiFi子產品的人絕對深有體會,再也不用燒錄一次程式就要拔一次杜邦線了。