以下で構成されるマスター/スレーブネットワークを開発したいと思います。
センサーを読み取り、センサー信号に基づいて速度ランププロファイルを生成し、それらのランプをスレーブに送信する1つのArduinoマスター
マスターから送信されたランプに続く12Vサーボモーターの速度を制御する3つ以上のArduinoスレーブ
これを達成するための良い通信プロトコルは何ですか?シリアル(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がすべてのスレーブに送信されるシリアル通信。
これは合理的な解決策のように見えますか?