記錄一下arduino間溝通的方式
先貼個程式碼
在這裡是傳遞"板子"B的光敏電阻值給"板子A"
板子B的RX要接到板子A的TX,板子A的RX要接到板子B的TX
RX部分 #include//create object EasyTransfer ET; struct RECEIVE_DATA_STRUCTURE{ //兩塊板子之間的資料結構要設定好,就是說RX與TX這個部分要一樣 //在這裡我有新增一個int 所以說在TX的檔案裡面此處也要新增一樣的參數 int blinks; int pause; int txt; }; //give a name to the group of data RECEIVE_DATA_STRUCTURE mydata; void setup(){ Serial.begin(9600); ET.begin(details(mydata), &Serial); pinMode(13, OUTPUT); } void loop(){ if(ET.receiveData()){ for(int i = mydata.blinks; i>0; i--){ digitalWrite(13, HIGH); delay(mydata.pause * 100); digitalWrite(13, LOW); delay(mydata.pause * 100); } Serial.println(mydata.txt); } }
TX部分 #includeEasyTransfer ET; int sensor = 2; int sensorValue = 0; struct SEND_DATA_STRUCTURE{ int blinks; int pause; int txt; }; SEND_DATA_STRUCTURE mydata; void setup(){ Serial.begin(9600); ET.begin(details(mydata), &Serial); pinMode(13, OUTPUT); randomSeed(analogRead(0)); } void loop(){ sensorValue = analogRead(sensor); //this is how you access the variables. [name of the group].[variable name] mydata.blinks = random(5); mydata.pause = random(5); mydata.txt = sensorValue; //send the data ET.sendData(); //Just for fun, we will blink it out too for(int i = mydata.blinks; i>0; i--){ digitalWrite(13, HIGH); delay(mydata.pause * 100); digitalWrite(13, LOW); delay(mydata.pause * 100); } delay(500); }

留言