How to continously read data from force sensor connected with Arduino

76 views (last 30 days)
Hello, everyone
I want to continously read data from a 'flexi force' sensor from arduino to Matlab, and i use the matlab script below to import data:
clc;
clear all;
close all;
a=arduino;
V=zeros(1000,1);
for i=1:1000
V(i)=readVoltage(a,'A0');
end
Here i used a for loop to load data from aduino, is this the only way to import data? The data transfering speed was too low by using this method. Is there any other method to read data from aduino to matlab.
Many thanks for you help!
Thomas
  1 Comment
Steven Evangelos
Steven Evangelos on 26 Aug 2021
Hi Thomas,
try this...
%%
a = arduino;
%%
flexi_count = 0;
flexi_array = [ ];
while flexi_count < 100;
flexi_count = flexi_count + 1;
flexi_volt = readVoltage(a, 'A0');
flexi_array = [flexi_array; [flexi_count, flexi_volt]];
show_me_voltage = [flexi_volt];
disp(show_me_voltage);
if flexi_count == 100;
disp("This is the end of the Flexi_Force_Sensor Loop");
end
flexi_array;
flexi_table = array2table(flexi_array, 'VariableNames', {'Time (0.1s)', 'Flexi_Force_Voltage'});
* Remove " ; " as desired to see flexi_array as an array, or flexi_table as a table with column names *

Sign in to comment.

Accepted Answer

Kenny Shu
Kenny Shu on 10 Apr 2019
Reading sensor values with this approach may be limited to the speed of the software for-loop. Consider reading and storing sensor values using an Arduino Sketch. Then, upon request, bring all of the values into MATLAB at once using serial read/write.
  1 Comment
Thomas Wei
Thomas Wei on 11 Apr 2019
Hello, Kenny. Thank you for replying and the serial reading is a better way to continously reading data!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!