Paso 14: El código - envío/Reciveing serie de datos
Primera vez yo pensaba enviar una cadena grande, algo así como "Inicio-th110br55st80rev1light0-final" y en el otro aduino para decodificar y comprobar si la cadena es corecta, si empieza con "Inicio", finaliza con "end" y si lo que tienen la "th", "st"... dentro. Pero me sale lento y yo sólo uso el Serial.parseInt().Envío normal, con serial.print() y después de enviar un valor enviar un "," (coma). Las cosas que usted necesita enviar del mando a distancia son: aceleración, romper, dirigir, invertir, luz. Y necesita recibir desde el coche: rpm, batería de lógica, batería motor
void reciveData() {}
Si (Serial.available() > 0) {}
int x = Serial.parseInt();
Si (x > 1) {(car_bat_motor = x/100.00)-1.00;}
x = Serial.parseInt();
Si (x > 1) {(car_bat_controler = x/100.00)-1.00;}
x = Serial.parseInt();
Si (x > 1) {RPM = x-1;}
Si (x == (RPM + 1)) {}
para (; Serial.Available() ;){
char y = Serial.read();
}
}
alumno = 1;
}
Si (recived) {}
sendData();
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void sendData() {}
Serial.Print("t");
Serial.Print(Throttle+1);
Serial.Print("b");
Serial.Print(break_+1);
Serial.Print("s");
Serial.Print(Stear+1);
Serial.Print("r");
Serial.Print(EEPROMReadInt(76)+1);
Serial.Print("l");
Serial.Print(EEPROMReadInt(72)+1);
Serial.println("End");
alumno = 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Puse el sendData() en la remota de código y también en el código del receptor una vez en void setup() y luego en el bucle de enviar datos sólo si recibe primero. Como si tienes el coche receptor poder es apagado y remoto está encendido, el control remoto no enviar datos hasta que encienda el receptor.
También cuando envío flotador prefiero enviarlo como un int (v 7.22 enviaré como este Serial.print(voltage *100)) y cuando lo recibo dividir para 100. Y cuando lo envíe agrego 1 (+ 1) como esto lo hago no enviado "0" para no enloquecer parseInt(), cuando lo recibo me espalda restamos 1: P (-1).