Ich konnte MATLAB mit dieser Codezeile mit meinem Uno verbinden: a = arduino('COM4');
über dieses Paket: Matlab-Support-Paket für Arduino .
Im Moment ist MATLAB mein Hauptskript, das alle Komponenten [wie das Arduino] synchronisiert.
Ich kann Impulse an meinen Schrittmotor senden, indem ich Folgendes verwende:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Dies funktioniert einwandfrei und lässt den Motor etwa alle 2 Millisekunden einmal laufen. Mein Problem ist, dass ich keinen Weg finden kann, dieselbe Verzögerung über die MATLAB-Schnittstelle zu erzeugen. Ich weiß, dass MATLAB eine pause()
Funktion hat, aber wenn ich eine Schleife in MATLAB wie folgt einrichte:
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
Jeder Schritt dauert viel länger - jeweils etwa 200 Millisekunden.
Welche anderen Optionen gibt es, um die Pause zwischen dem Senden von digitalem High / Low an das Arduino zu erzeugen? Es wäre schön, wenn ich das Ergebnis von Matlab über Arduino kontrollieren könnte.