Red de conocimiento informático - Material del sitio web - Cómo usar matlab para leer diferentes datos del puerto serie Arduino y dibujar gráficos

Cómo usar matlab para leer diferentes datos del puerto serie Arduino y dibujar gráficos

Utilicé matlab para leer los datos del puerto serie y luego los tracé, pero solo puedo leer un tipo de datos. Por ejemplo, valor ADC de solo lectura o tiempo de solo lectura. Pero quiero usar matlab para leer el tiempo y los valores de ADC obtenidos por Arduino y luego crear un gráfico de forma de onda. El tiempo es el eje horizontal y el ADC es el eje vertical. Los códigos de Arduino y matlab están escritos a continuación. El tiempo en la abscisa del gráfico realizado con ese código es incorrecto, por lo que también se debe leer el tiempo leído por el Arduino.

Arduino:

#include

const int INTERVAL = 3;

unsigned long n = 0;

void ggyy() {

n = milis();

int m = analogRead(A0);

Serial.print( n);

Serial.print(" ");

Serial.print(m);

}

configuración nula( ){

Serial.begin(115200);

MsTimer2::set(INTERVAL,ggyy);

MsTimer2::start();

}

bucle vacío() {

retraso(800000);

}

Matlab:

s=serial('COM3');

set(s,'BaudRate',115200);

fopen(s);

intervalo =5000;

passo=1;

t=1;

x=0;

while(t

b=str2num(fgetl(s));

x=[x,b];

plot(x);

grid

t=t+passo;

drawow;

end

fclose(s);