我已经可以使用以下代码行将MATLAB连接到我的Uno:a = arduino('COM4');
通过以下软件包:Arduino的Matlab支持软件包。
现在,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毫秒。
在发送到Arduino的数字高/低之间创建停顿还有什么其他选择?如果我可以通过Arduino控制Matlab的结果,那就太好了。