ایجاد شبکه با ماژول rs485

سلام پروژه من از 3 برد آرداینو تشکیل شده که قراره توسط 3 ماژول rs485 به صورت مستر و اسلیو با هم در تماس باشن , دو تا برد slave هستند و یک مستر حالا چگونه ترتیب ارسال داده ها از slave ها را مشخص کنم امکانش هست کدهای مربوطرو برام ارسال کنید همراح با توضیح سپاسگذارم
کد های خودم فعلا برای یک slave
(مستر)

//#include <SoftwareSerial.h>
//
//SoftwareSerial mySerial(10, 11); // RX, TX
int en = 8;
//////master
int value1 = 0, value2 = 0;
int qw=0;
///////
String stringKamel = “”;
boolean stringAmade = false;
String str2,str3,str4;
void SerialKhan(){

while (Serial.available()) {

char vorudi = (char)Serial.read();

if(vorudi == '\n'){
  stringAmade = true;
}else{
  stringKamel += vorudi;
}

}
}
void setup() {
// Serial.begin(115200);

Serial.begin(9600);
Serial.setTimeout(250);

while (!Serial) {

}
stringKamel.reserve(200);
pinMode(en,OUTPUT);
pinMode(9,OUTPUT);
digitalWrite(en,HIGH);
}

void loop() {

digitalWrite(en,HIGH);
Serial.print(‘F’);
Serial.println(‘1’);
Serial.flush();

digitalWrite(en,LOW);
SerialKhan();

if(stringAmade){
Serial.println(“hi”);
Serial.println(stringKamel);
int in1 = stringKamel.indexOf(“a”);
in1+=1;
int in2 = stringKamel.indexOf(“b”);
in2-=1;
str2 = stringKamel.substring(in1,in2+1);
Serial.println(str2);
// in2+=2;
// int in3 = stringKamel.indexOf(“c”);
// in3-=1;
// str3 = stringKamel.substring(in2,in3+1);
// Serial.println(str3);
// in3+=2;
// int in4 = stringKamel.indexOf(“e”);
// in4-=1;
// str4 = stringKamel.substring(in3,in4+1);
// int dg = str2.toInt();
// Serial.println(str4);

stringKamel = "";
stringAmade = false;

}
delay(1000);
}

(کد مربوط به slave)
//#include<EEPROM.h>
//#include <SoftwareSerial.h>
//
//SoftwareSerial Serial(2, 3); // RX, TX
int pt = A0;
int enablePin = 8;
float sensorValue,voltageOut;
const int sensorPin = A2;
int temperatureC;
int vliuo, level1;
String stringKamel = “”;
boolean stringAmade = false;
String str2,str3,str4;
void setup() {
// Open Serial communications and wait for port to open:
//Serial.begin(9600);
Serial.begin(9600);
Serial.setTimeout(250);
while (!Serial) {
;
}
stringKamel.reserve(200);
Serial.println(“Goodnight moon!”);
pinMode(enablePin,OUTPUT);
pinMode(pt,INPUT);
pinMode(sensorPin,INPUT);
// set the data rate for the SoftwareSerial port
digitalWrite(enablePin,LOW);
// Serial.println(“Hello, world?”);
}

void loop() { // run over and over

    digitalWrite(enablePin,LOW);
 SerialKhan();     

if(stringAmade){
Serial.println(stringKamel);
int in1 = stringKamel.indexOf(‘1’);
Serial.println(in1);
if(in1){

     level1=analogRead(pt);
    digitalWrite(enablePin,HIGH);
    Serial.print('a');
    Serial.print(level1);
    Serial.println('b');
    Serial.flush();
  }     
stringKamel = "";
stringAmade = false;

}
// int level2= map(level1,0,1023,0,100);
// int temp= map(level1,0,1023,-100,100);
//
// Serial.print(“b”);
// Serial.print(level2);
// Serial.print(“c”);
// Serial.print(temp);
// Serial.println(“e”);
////////////////
//sensorValue = analogRead(sensorPin);
// voltageOut = (sensorValue * 5000.0) / 1023.0;
// temperatureC = voltageOut / 10;
delay(500);
}
void SerialKhan(){

while (Serial.available()) {

char vorudi = (char)Serial.read();

if(vorudi == '\n'){
  stringAmade = true;
}else{
  stringKamel += vorudi;
}

}
}

سلام دوست عزیز، لطفا همیشه کد ها رو یا در بلوک مربوط به کد بذارید و یا فایل اون رو ارسال کنید. متاسفانه کدی که ارسال کردید برای من خیلی ناخوانا هست. حتما شماتیک مداری که دارید استفاده میکنید رو هم ارسال کنید.
در مورد شبکه های rs485 هم شما حتما باید خود شبکه رو به خوبی بشناسید و پروتکلی که میخواید استفاده کنید رو مشخص کنید. در اینترنت آموزش ها و مطالب بسیاری در موردش وجود داره.