Я хотел бы разработать сеть master / slave, которая состоит из:
1 Arduino master, который считывает датчики и генерирует профили линейного изменения скорости на основе сигналов датчиков, а затем отправляет эти линейные изменения ведомым
3 (или более) подчиненных Arduino, которые управляют скоростью серводвигателей 12 В в соответствии с рампами, отправленными мастером
Что такое хороший протокол связи для достижения этой цели? Серийный (SPI)? I2C? Что-то другое? Если это серийный, новый Arduino Leonardo - хороший выбор? Какие вопросы я должен учитывать при выборе протокола?
Я представляю что-то вроде:
Мастер:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Раб 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
И последовательная связь, в которой RX / TX от ведущего отправляется всем ведомым.
Это кажется разумным решением?