Eu gostaria de desenvolver uma rede mestre / escravo que consiste em:
1 Mestre do Arduino que lê sensores e gera perfis de velocidade de rampa com base nos sinais do sensor e depois envia essas rampas para escravos
3 (ou mais) escravos do Arduino que controlam a velocidade dos servomotores de 12V seguindo as rampas enviadas pelo mestre
O que é um bom protocolo de comunicação para conseguir isso? Serial (SPI)? I2C? Algo mais? Se for serial, o novo Arduino Leonardo é uma boa escolha? Que questões devo considerar ao selecionar um protocolo?
Estou imaginando algo como:
Mestre:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Escravo 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
E comunicação serial na qual o RX / TX do mestre é enviado a todos os escravos.
Parece uma solução razoável?