Sono stato in grado di connettere MATLAB al mio Uno con questa riga di codice: a = arduino('COM4');
attraverso questo pacchetto: pacchetto di supporto Matlab per Arduino .
In questo momento, MATLAB è il mio script principale che sincronizzerà tutti i componenti [come Arduino].
Sono in grado di inviare impulsi al mio motore passo-passo semplicemente usando:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Funziona bene e fa muovere il motore circa ogni 2 millisecondi. Il mio problema è che non riesco a trovare un modo per produrre questo stesso ritardo attraverso l'interfaccia di MATLAB. So che MATLAB ha una pause()
funzione, ma quando imposto un ciclo in MATLAB in questo modo:
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
Ogni passaggio richiede MODO più lungo - circa 200 millisecondi ciascuno.
Quali sono le altre opzioni per creare la pausa tra High / Low digitale inviata ad Arduino? Sarebbe bello se potessi controllare l'esito di Matlab, attraverso Arduino.