Je souhaite développer un réseau maître / esclave composé de:
1 maître Arduino qui lit les capteurs et génère des profils de rampe de vitesse en fonction des signaux des capteurs, puis envoie ces rampes aux esclaves
3 (ou plus) esclaves Arduino qui contrôlent la vitesse des servomoteurs 12V suivant les rampes envoyées par le maître
Qu'est-ce qu'un bon protocole de communication pour y parvenir? Série (SPI)? I2C? Autre chose? S'il est en série, le nouvel Arduino Leonardo est-il un bon choix? Quels problèmes dois-je considérer lors de la sélection d'un protocole?
J'imagine quelque chose comme:
Maître:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Esclave 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
Et communication série dans laquelle RX / TX du maître est envoyé à tous les esclaves.
Cela semble-t-il une solution raisonnable?