He podido conectar MATLAB a mi Uno con esta línea de código: a a = arduino('COM4');
través de este paquete: paquete de soporte de Matlab para Arduino .
En este momento, MATLAB es mi script principal que sincronizará todos los componentes [como el Arduino].
Puedo enviar pulsos a mi motor paso a paso simplemente usando:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Esto funciona bien y hará que el motor se mueva aproximadamente una vez cada 2 milisegundos. Mi problema es que no puedo encontrar una manera de producir este mismo retraso a través de la interfaz de MATLAB. Sé que MATLAB tiene una pause()
función, pero cuando configuro un bucle en MATLAB como este:
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
Cada paso tarda MUCHO más, unos 200 milisegundos cada uno.
¿Cuáles son otras opciones para crear la pausa entre el envío de alta / baja digital al Arduino? Sería bueno si pudiera controlar el resultado de Matlab, a través de Arduino.