How do I change the sample rate of the animated line
Mostra commenti meno recenti
I've got an arduino that is sending a signal to Matlab. The current code I have plots the signal but it's obscured due to the sampling rate. How do I implement or change the sampling rate. This is the code I use to obtain data from the arduino:
figure
h = animatedline;
ax = gca;
ax.YGrid = 'on';
ax.YLim = [0 2];
stop = false;
startTime = datetime('now');
while ~stop
v = readVoltage(a,'A5');
output = v
time = datetime('now') - startTime;
addpoints(h,datenum(time),output)
ax.XLim = datenum([time-seconds(50) time]);
datetick('x','keeplimits')
drawnow
stop = readDigitalPin(a, 'A6');
end
Risposte (1)
Walter Roberson
il 30 Ott 2018
0 voti
You need to redesign your code to overcome this. You need to create an arduino sketch or c/c++ program that does nothing other than to reads the pins and send the results to MATLAB.
Note that if you are using the USB port to send the data then it is limited in the number of transactions per second. https://www.mathworks.com/matlabcentral/answers/400467-what-is-matlab-s-sampling-rate-through-arduino-analog-input#comment_567391
2 Commenti
Mark Rodger
il 8 Nov 2018
Walter Roberson
il 8 Nov 2018
You do not set t(i) until after you addpoint trying to use its value.
Categorie
Scopri di più su Animation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!