Vorrei sviluppare una rete master / slave composta da:
1 master Arduino che legge i sensori e genera profili di rampe di velocità in base ai segnali del sensore e quindi invia tali rampe agli slave
3 (o più) slave Arduino che controllano la velocità dei servomotori 12V seguendo le rampe inviate dal master
Qual è un buon protocollo di comunicazione per raggiungere questo obiettivo? Seriale (SPI)? I2C? Qualcos'altro? Se è seriale, il nuovo Arduino Leonardo è una buona scelta? Quali problemi dovrei considerare nella scelta di un protocollo?
Sto immaginando qualcosa di simile:
Maestro:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Slave 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
E comunicazione seriale in cui RX / TX dal master viene inviato a tutti gli slave.
Sembra una soluzione ragionevole?