Real Time Data Acquisition With Arduino Analog Input
    3 views (last 30 days)
  
       Show older comments
    
I'm in the process of trying to visualise my basic analog light sensor using the plotting function within MatLab.
This is my code so far:
a = arduino('/dev/tty.usbmodem411');
i = 1;
axis = 1;
while (i == 1)
    b = a.analogRead(0);
    axis = axis +1;
    plot(axis, b);
    pause(1);
    drawnow;
end
I figured I'd keep it simple by using a sample rate of 1Hz.
My Y axis is moving up and down dependant on the light sensor value and the x axis is incrementing by 1 every time the loop increments, but I can't actually see the graph actually drawing anything.
0 Comments
Answers (2)
  David Sanchez
      
 on 4 Jul 2013
        Assuming the code on the Arduino side is sending something ( check it out, please ), and that the arduino object points to the right port, try this changes:
a = arduino('/dev/tty.usbmodem411');
i = 1;
axis = 1;
while (i == 1)
    b = a.analogRead(0);
    axis = axis +1;
    plot(axis, b,axis, b,'r*');
    drawnow;
    pause(1);
end
  Mehmet Bulun
 on 2 Nov 2017
        
      Edited: Mehmet Bulun
 on 2 Nov 2017
  
      Try below code.
a = arduino('/dev/tty.usbmodem411');
  interval = 1000;
  passo = 1;
  t=1;
  x=0;
  while (t<interval)
      b = a.analogRead(0);
      x=[x,b];
      plot(x);
      axis([,interval,500,500]);%500 and 500 are axis limits
      t=t+passo;
      drawnow;
  end
0 Comments
See Also
Categories
				Find more on Graphics Performance 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!


