このコード行を使用して、MATLABをUnoに接続することができました。a = arduino('COM4');
このパッケージを通じて:ArduinoのMatlabサポートパッケージ。
現在、MATLABは[Arduinoのような]すべてのコンポーネントを同期する私のメインスクリプトです。
以下を使用するだけで、ステッピングモーターにパルスを送信できます。
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
これは正常に動作し、モーターが約2ミリ秒に1回動きます。私の問題は、MATLABのインターフェイスを介してこれと同じ遅延を生成する方法が見つからないことです。MATLABにpause()
関数があることは知っていますが、MATLABで次のようにループを設定すると、
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
各ステップは長くかかります-それぞれ約200ミリ秒。
Arduinoに送信されるデジタル高/低の間の一時停止を作成するための他のオプションは何ですか?Arduinoを介して、Matlabからの結果を制御できたらいいですね。