愛體驗認證

2019年4月14日 星期日

TCweng_兩台arduino通訊(UART),增加RX,TX接腳

TCweng_兩台arduino通訊(UART),增加RX,TX接腳

繼上一篇

TCrobots_arduino 通訊-UART序列埠篇(RX,TX)


這篇文章主要是要教
兩台Arduino之間的傳輸
以及如何增加arduino 的RX,TX接腳

首先
要讓兩台Arduino互相溝通傳輸
那就必須先建立他們的橋樑
那就是接線啦
把一號arduino的RX接到二號的TX
把一號arduino的TX接到二號的RX
最後再把GND互連就可以了

程式的部分就跟上一篇文章差不多
果需要詳細解釋的也可參考上一篇文章


一號機(傳輸)的部分:

void setup() {
  Serial.begin(9600);  //設定通訊速率

}

void loop() {
  Serial.write("TC");  //傳輸讀取的訊號
  delay(2000);

}


二號機(接收)的部分:

void setup() {
  Serial.begin(9600);  //設定通訊速率

}

void loop() {
  while (!Serial.available()) {}   //直到暫存器出現訊號才跳出迴圈
  
  Serial.write(Serial.read());  //傳輸讀取的訊號
  
  while (Serial.available()>0) {   //如果暫存器有訊號則不斷讀取直到沒有
    Serial.read();
  }  

}


要注意的是
一個分頁一次只能連接一部arduino
所以要一次看到兩部arduino運作
就必須向TC一樣
開兩個分頁(下圖底部)
不能在一個分頁中按新增!!!!!
如果不懂的話也是可以一次連結一部就好
最後再把線接到二號機
再來是因為RX,TX也是跟電腦溝通的接腳
所以在上傳程式時必須拔掉RX,TX



上圖可看見執行結果


接下來就是新增RX,TX接腳的部分了

首先,要先加入函示庫

加入函示庫後複製以下程式上傳並執行即可
記得要把RX,TX換到10跟11腳位喔


一號機(傳輸)

#include <SoftwareSerial.h>
SoftwareSerial mySerial(11,10);
 //建立軟體串列埠腳位 (RX, TX)

void setup() {
  mySerial.begin(9600);   //設定軟體串列埠速率
  
}

void loop() {
  
  while (!mySerial.available()) {}  
  //等到一號機傳送字元才到下一步
  
  Serial.write(mySerial.read()); 
  //讀取一號機傳送之字元並顯示
  
  while(mySerial.available() > 0){
  mySerial.read();
  }
  
  mySerial.write("1");  

}



二號機(接收)

#include <SoftwareSerial.h>
SoftwareSerial mySerial(11,10);
//建立軟體串列埠腳位 (RX, TX)

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);  //設定軟體通訊速率

}

void loop() {
  while (!mySerial.available()) {} 
  //直到暫存器出現訊號才跳出迴圈
  
  Serial.write(mySerial.read());  //傳輸讀取的訊號
  
  while (mySerial.available()>0) {
   //如果暫存器有訊號則不斷讀取直到沒有
    mySerial.read();
  }  

}


沒有留言:

張貼留言