How to implement Serial Communication between Simulink (R2012b) and an Arduino?

2 次查看(过去 30 天)
I would like to have Simulink run a model (i.e. controller), transmit information to the Arduino, have the Arduino receive the data and implement some action based on the data.

采纳的回答

MathWorks Support Team
The solution is to run a model in Simulink using the play button, and run another model on the Arduino using the "Tools->Run on Target Hardware->Run" option.
I have included two models which perform this functionality. The transmitting model is called "SerialSend" and the receiving model is called "ArduinoReceive". The SerialSend model should be run by using the play button while the ArduinoReceive model should be run by selecting "Tools->Run on Target Hardware->Run" to push code to the Arduino. The transmitting model sends a pulse with values of 2 and 3. The pulse has a period of 4 seconds with a 50% duty cycle. The receiving model just checks to see if the value sent is a 2 or 3 and sends a corresponding boolean to pin 13. On the Arduino Mega 2560 and Uno this will cause the corresponding onboard LED to blink with a period of 4 seconds.
The transmitting model should not try to push code to the target by using the "Tools->Run on Target Hardware->Run" command. Doing so will push code to the Arduino and erase the original code, as you already discovered.
The SerialSend model uses the Instrument Control Toolbox "Serial Send" block to transmit data over the serial connection (i.e. usb programming cable). You will need to check the device manager to determine which COM port corresponds to the Arduino. The ArduinoReceive model should use an "Arduino Serial Receive" block.
  1 个评论
Walter Roberson
Walter Roberson 2016-10-15
Approximate translation:
Hello when you display the error message should disconnect your Arduino and connect it again and press reset, so you solve. regards

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Arduino Hardware 的更多信息

标签

尚未输入任何标签。

产品


版本

R2012b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by