MATLAB Answers

0

How to continuously real-time plotting graph from arduino to matlab (10k Variable Resistor)

Asked by Charles Lim on 13 Aug 2013
Latest activity Answered by Madhu Govindarajan on 17 Oct 2017
Hello and good day to all the experts and visitors of Mat-Lab, I am a mechatronic student and now facing problem trying to interface matlab and arduino..
I am trying to real-time plotting graph from arduino to matlab with (10k variable resistor), but the graph will stop plotting after reach the Maximun X-axis (I set 0-1000).
Can it continuously real-time plotting the graph non stop? full of appreciation or teaching me to solve it.
the code is shown below:
a = arduino('COM3');
interv = 1000;
passo = 1;
t=1;
x=0;
while(t<interv)
b=a.analogRead(0);
x=[x,b];
plot(x);
axis([0,interv,0,1024]);
grid
t=t+passo;
drawnow;
end

  1 Comment

Hi,
just dont bound the axis, remove the bounds on the axis and that should allow it to continually plot the voltage.

Sign in to comment.

Tags

6 Answers

Answer by David Sanchez
on 13 Aug 2013

You just have to change the axis when the highest value is reached:
axis([interv,2*interv,0,1024]); % adapt values to your needs

  1 Comment

Very Thank you for replied
I set interv = 1000
after I change this code
the x-axis started from 1000 to 2000
how do I start from 0 - 1000 after the highest value is reached auto start from 1000 - 2000 , continuously non stop ?

Sign in to comment.


Answer by anand
on 22 Dec 2016

just make use of while(1) after a = arduino and at the last make use of a end function this solves your problem

  0 Comments

Sign in to comment.


Answer by Sanjay Raam on 9 Feb 2014
Edited by Sanjay Raam on 9 Feb 2014

you need not set axis between 0to1024
instead give the following statement
axes auto;
by the way, thanks for your program... it was useful for me to learn!!

  0 Comments

Sign in to comment.


Answer by khoulod ghanem on 28 Sep 2015

I am trying to plot current-voltage curve from Arduino to Matlab , can you help me to start ??

  0 Comments

Sign in to comment.


Answer by ravi kumar on 2 Feb 2017

This did not work for me. I tried this one: Real Time Analog Voltage in Matlab using Arduino it uses line function. anybody knows how to scroll the time line?

  1 Comment

try this code: clear all
a = arduino
x = 0;
for k = 1:1000
b = readVoltage(a, 'A0');
x = [x, b];
plot (x);
grid;
drawnow;
end

Sign in to comment.


Answer by Madhu Govindarajan on 17 Oct 2017

Checkout this video - https://www.mathworks.com/videos/plotting-live-data-of-a-temperature-sensor-using-arduino-and-matlab-121317.html?s_tid=srchtitle
HTH, Madhu

  0 Comments

Sign in to comment.