Já foi visto aqui no blog como fazer leituras analógicas utilizando Matlab e arduino. Mas as vezes somente o gráfico não passa todos os dados necessários, as vezes é preciso saber quantas leituras foram feitas, o valor mínimo e o valor máximo.
O objetivo desse tutorial e justamente mostrar como ler um arquivo .txt no Matlab e manipula-lo para obter as informações necessárias.
A programação foi dividida em duas partes para ficar mais fácil a sua aplicação. Abaixo segue a parte em que se faz a comunicação com matlab e arduino.
delete(instrfind({'Port'},{'COM3'}));
clear all
clc
a=arduino('COM3');
passo = 1;
t = 1;
x1=0;
while true
b = a.analogRead(0);
x1 = [x1,b];
area(x1);
grid on
drawnow;
save leitura.txt x1 -ascii
end
Nota-se que na penúltima linha de programação e onde salva o arquivo .txt onde recebe os valores x1.
Abaixo a manipulação do arquivo .txt
fid = fopen('leitura.txt');
if fid == -1
disp('Erro na abertura do arquivo')
else
while feof(fid) == 0
linha = fgetl(fid);
[num chr] = strtok(linha);
fprintf('%.2f %s\n',str2num(num),chr)
end
fim = fclose(fid);
if fim == -1
disp('Erro no fechamento do arquivo')
end
end
let = x1'
tamanho =length(x1);
min = min(x1);
max = max(x1);
fprintf('Foram feitas %d leituras, com o minimo de %d e maximo de %d\n', tamanho, min , max)
Nenhum comentário:
Postar um comentário