Tôi muốn phát triển một mạng lưới chủ / nô lệ bao gồm:
1 Master Arduino đọc các cảm biến và tạo ra các cấu hình đường dốc vận tốc dựa trên các tín hiệu cảm biến và sau đó gửi các đường dốc đó đến các nô lệ
3 (hoặc nhiều hơn) Các nô lệ Arduino điều khiển vận tốc của động cơ servo 12 V theo các đường dốc được gửi bởi chủ
Một giao thức truyền thông tốt để đạt được điều này là gì? Nối tiếp (SPI)? I2C? Thứ gì khác? Nếu nó là nối tiếp, Arduino Leonardo mới là một lựa chọn tốt? Những vấn đề tôi nên xem xét trong việc lựa chọn một giao thức?
Tôi đang tưởng tượng một cái gì đó như:
Bậc thầy:
void loop() {
update_ramps()
for(int i=0; i< num_slaves; i++) {
send_to_all(i, ramps[i]);
}
}
Nô lệ 1:
const int id = 1;
int recived_id, recived_value;
void loop() {
read_data();
if(recived_id == id) {
do_motor_step(recived_value);
}
}
Và giao tiếp nối tiếp trong đó RX / TX từ chủ được gửi đến tất cả các nô lệ.
Điều này có vẻ như là một giải pháp hợp lý?