hey guys can you help me with this.

1 view (last 30 days)
i'm going to print four variable on serial in fact when i run it ;it going to write this four variable in one value . my question is who to print more than one variable on serial and send it to arduino to use it in the same time.this is my matlab gui codes.
global a;
a=serial('COM4');
setpoint=str2num(get(handles.s,'string'));
aggkp=str2num(get(handles.k1,'string'));
aggki=str2num(get(handles.k2,'string'));
aggkd=str2num(get(handles.k3,'string'));
fprintf(a,'%d',setpoint);
fprintf(a,'%d',aggkp);
fprintf(a,'%d',aggki);
fprintf(a,'%d',aggkd);

Accepted Answer

Mark Sherstan
Mark Sherstan on 17 May 2019
If you need to run all of that at the same time you need to run miltiple threads. Check out the Parallel computing toolbox for more information: https://www.mathworks.com/products/parallel-computing.html
I see you are running a PID controller so I would first check how long each of these tasks are actually taking using the profiler. If printing, writing, and updating the GUI is faster than you can acquire data and/or actuate your controller, then there is no need to run everything at the same time.
  3 Comments
Mark Sherstan
Mark Sherstan on 17 May 2019
Look at the Simulink support package for Arduino. You can achieve fantastic control with all the built in Simulink controllers. This link should get you started, you can even run in real time.
husam alrajab
husam alrajab on 17 May 2019
i will .thanks for your help

Sign in to comment.

More Answers (0)

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!