Me gustaría desarrollar una red maestra / esclava que consiste en:
-
1 Arduino maestro que lee sensores y genera perfiles de rampa de velocidad según las señales del sensor y luego envía esas rampas a los esclavos
-
3 (o más) esclavos Arduino que controlan la velocidad de los servomotores de 12 V siguiendo las rampas enviadas por el maestro
¿Qué es un buen protocolo de comunicación para lograr esto? Serial (SPI)? I2C? ¿Algo más? Si es serial, ¿es la nueva Arduino Leonardo una buena opción? ¿Qué problemas debería tener en cuenta al seleccionar un protocolo?
Estoy imaginando algo como:
Maestro:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Esclavo 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
Y comunicación en serie en la que RX / TX desde el maestro se envía a todos los esclavos.
¿Esto parece una solución razonable?