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
上圖可看見執行結果
接下來就是新增RX,TX接腳的部分了
首先,要先加入函示庫
加入函示庫後複製以下程式上傳並執行即可
記得要把RX,TX換到10跟11腳位喔
記得要把RX,TX換到10跟11腳位喔
一號機(傳輸)
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11,10);
//建立軟體串列埠腳位 (RX, TX)
//建立軟體串列埠腳位 (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)
//建立軟體串列埠腳位 (RX, TX)
void setup() {
Serial.begin(9600);
Serial.begin(9600);
mySerial.begin(9600); //設定軟體通訊速率
}
void loop() {
while (!mySerial.available()) {}
//直到暫存器出現訊號才跳出迴圈
//直到暫存器出現訊號才跳出迴圈
Serial.write(mySerial.read()); //傳輸讀取的訊號
while (mySerial.available()>0) {
//如果暫存器有訊號則不斷讀取直到沒有
//如果暫存器有訊號則不斷讀取直到沒有
mySerial.read();
}
}
沒有留言:
張貼留言