fscanf reads 0 from Arduino (connected to force/ pressure sensor) - despite non 0 values seen in Ardunio serial monitor
3 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
I am trying to read out from a force/ pressure sensor that is connected to an Ardunio Micro (connected by USB) into MATLAB.
When I use the Ardunio software and look in the serial monitor, pressing the force sensor shows values going up and down as they should:
However, when I try and read using matlab (using various read/ scan functions) I get 0's (even when pressing as above)
I tried changing the format of the output I was expecting to %s %s %s %d etc, but this did not work (and I think is not the correct format anyway). I tried various other things commented out below:
delete(instrfindall);
seriallist;
s1 = serial("/dev/tty.usbmodem1421");
s1.BaudRate = 9600; % rate of communication of serial monitor with
% s1.Terminator = 'CR/LF'; % might I need to change the terminator? It is
% default set as 'LF' (line feed?)
fopen(s1);
s1.status;
% Do I need to send it something?
% fprintf(s1, 'XXX');
for l = 1:50
pause(.1)
fscanf(s1)
% no idea what the difference between these types of scan are
% fgetl(s1)
% fread(s1)
% fgets(s1)
% cant work out how to specify the output properly
% fscanf(s1, '%s %s %s %d')
% fscanf(s1, '%s %d')
% fscanf(s1, 'Analog reading = %d')
end
fclose(s1)
delete(s1)
clear s1
clear all
As you can see I am a total novice... Any help would be very very very much appreciated, as I am supposed to have this up and running by Monday :s
Thank you all!
This is my Ardunio code in case helpful
0 个评论
回答(2 个)
Vishnu Vardhan
2019-6-15
Hi Harriet,
I think you haven't tried using the function readVoltage function available in MATLAB. Why don't you give it a try.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Support Package for Arduino Hardware 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!