Saya ingin mengembangkan jaringan master / slave yang terdiri dari:
1 Arduino master yang membaca sensor dan menghasilkan profil ramp kecepatan berdasarkan sinyal sensor dan kemudian mengirim landai ke budak
3 (atau lebih) budak Arduino yang mengendalikan kecepatan motor servo 12V mengikuti jalur landai yang dikirim oleh master
Apa protokol komunikasi yang baik untuk mencapai ini? Serial (SPI)? I2C? Sesuatu yang lain Jika serial, apakah Arduino Leonardo yang baru merupakan pilihan yang baik? Masalah apa yang harus saya pertimbangkan dalam memilih protokol?
Saya membayangkan sesuatu seperti:
Menguasai:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Budak 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
Dan komunikasi serial di mana RX / TX dari master dikirim ke semua budak.
Apakah ini tampak seperti solusi yang masuk akal?