You have an arduino monitor --------> Arduino mega -----Serial 1 -----> Other Arduino for Server motor 1
| -----Serial 2 -----> Other Arduino for Server motor 2
| -----Serial 3 -----> Other Arduino for Server motor 3
Or on arduino monitor you have a software in PC ?
Bellow i give you an example i had make for me (for learn) The data was coming from pc
#define led 13
volatile boolean flag = false;
bool state = false;
String dataIn = "";
void setup()
{
Serial.begin(9600);
Serial.println("Start up ...");
dataIn.reserve(200);
pinMode(led,OUTPUT);
}
void serialEvent()
{
//dataIn = "";
while (Serial.available() > 0) {
char inByte = (char)Serial.read();
if (inByte == '\n' || inByte == '\r') {
flag = true;
} else {
dataIn.concat(inByte);
//Serial.println(dataIn);
}
}
}
void loop() {
if (flag){
flag = false;
Serial.println("I got data");
Serial.println(dataIn);
if (dataIn == "100"){
flag = false;
digitalWrite(led,LOW);
}
if (dataIn == "101"){
flag = true;
digitalWrite(led,HIGH);
}
/*
if (dataIn == "101"){
digitalWrite(led,HIGH);
Serial.println("Requested High");
}
if (dataIn == "100"){
digitalWrite(led,LOW);
Serial.println("Requested Low");
}
*/
dataIn = "";
}
}
Just for you're information the void serialEvent() it is a routine for hardware serial port only and there you can check the other 3 serial ports as well.
If you need more help please give me more info please.