前回、matlabのsimulinkの環境で、シリアル(UART)で信号を出力する実験をしました。今回は、その出力を、Arduinoのシリアルで受けます。
動作環境
- Windows10 Pro 22H2
- matlab R2023a
- Arduino IDE2.0.4
USB-UART変換ボートは、前回の記事を参照してください。
ボード間の接続です。
USB-UART変換ボード | Arduino Zero |
---|---|
TxD | 13->Rx |
RxD | 14<-Tx |
GND | GND |
simulinkの設定
定数のプロパティです。32ビットのデータで、”AB”を送ります。(uint16でいいのかな?)
シリアルでデータを受けるArduino側
スケッチです。Serialはシリアルモニタで、Serial1はUARTポートです。
void setup() {
// initialize both serial ports:
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
// read from port 1, send to port 0:
if (Serial1.available()) {
int inByte = Serial1.read();
Serial.write(inByte);
}
}
シリアルモニタを起動しておきます。simurinkを実行します。
受信しました。