How to read a variable from Arduino or a PWM value from Arduino in Matlab

13 views (last 30 days)
Hi Mathworkes
I made an RC using nrf24l01 and Arduino and now I need to see what the transmitting Arduino send as a information to my receiver. In Arduino IDE I use:
radio.read(&data, sizeof(MyData));
my data are:
struct MyData {
byte latitude;
byte longitude;}
I use this to acquire the information that I receive and, in the same code, I transform that in PWM values to control motors.
Is it any method to read this values em Matlab? I need it to create a control system.
I'm really grateful for you help.

Accepted Answer

Mahesh
Mahesh on 19 Jan 2018
Establish the serial communication between Arduino and MatLab. So that you can read and use the values for creating your control system. For example:
//From your Arduino end, send the data
serial.begin('Baud rate')
if (serial.available())
serial.print('Mydata');
end
%% MatLab end, receive the data
ser=serial('Com port ', 'Baud rate')
fopen(ser);
output = fscanf(ser);
fclose(ser);
delete(ser);
  2 Comments
Szillat
Szillat on 23 Jan 2018
It works but the bad thing which that is that I can only read one information. for example, if I like to read more then 'Mydata' I need to hide something.
Mahesh
Mahesh on 23 Jan 2018
Something you could do like this to read all the data until you close the serial connection
result=[];
if ~isempty(output)
result=[result;output];
end

Sign in to comment.

More Answers (0)

Communities

More Answers in the  Power Electronics Control

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!