Я смог подключить MATLAB к Uno с помощью этой строки кода: a = arduino('COM4');
через этот пакет: пакет поддержки Matlab для Arduino .
Прямо сейчас, MATLAB - мой основной скрипт, который синхронизирует все компоненты [как Arduino].
Я могу отправлять импульсы на мой шаговый двигатель, просто используя:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Это отлично работает и заставляет двигатель двигаться примерно раз в 2 миллисекунды. Моя проблема в том, что я не могу найти способ произвести такую же задержку через интерфейс 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 миллисекунд каждый.
Каковы другие варианты создания паузы между цифровым High / Low, отправляемым на Arduino? Было бы хорошо, если бы я мог контролировать исход от Matlab, через Arduino.