我想开发一个包含以下内容的主/从网络:
1个Arduino主机,可读取传感器并根据传感器信号生成速度斜坡曲线,然后将这些斜坡发送给从机
3个(或更多)Arduino从设备,它们按照主设备发送的斜坡控制12V伺服电机的速度
什么是实现此目的的良好通信协议?串行(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发送到所有从机。
这似乎是一个合理的解决方案吗?