Consegui conectar o MATLAB ao meu Uno com esta linha de código: a = arduino ('COM4');
por meio deste pacote: Pacote de suporte Matlab para Arduino.
No momento, MATLAB é meu script principal que sincronizará todos os componentes [como o Arduino].
Posso enviar pulsos para meu motor de passo apenas usando :
void loop () {digitalWrite (2, HIGH); atraso (1); digitalWrite (2, BAIXO); delay (1);}
Isso funciona bem e fará o motor se mover uma vez a cada 2 milissegundos. Meu problema é que não consigo encontrar uma maneira de produzir este mesmo atraso através da interface do MATLAB. Eu sei que o MATLAB tem uma função pause ()
, mas quando eu configuro um loop no MATLAB como este:
a = arduino ('COM4'); para m = 1: 400 a.digitalWrite (2, 1); pausa (0,001); a.digitalWrite (2, 0); pause (0,001); end
Cada etapa leva muito mais tempo - cerca de 200 milissegundos cada.
Quais são as outras opções para criar a pausa entre o envio digital de Alto / Baixo para o Arduino? Seria bom se eu pudesse controlar o resultado do Matlab, por meio do Arduino.