J'ai pu connecter MATLAB à mon Uno avec cette ligne de code: a = arduino('COM4');
grâce à ce package: package de support Matlab pour Arduino .
À l'heure actuelle, MATLAB est mon script principal qui synchronisera tous les composants [comme l'Arduino].
Je peux envoyer des impulsions à mon moteur pas à pas simplement en utilisant:
void loop() {
digitalWrite(2, HIGH);
delay(1);
digitalWrite(2, LOW);
delay(1);
}
Cela fonctionne bien et fera bouger le moteur environ une fois toutes les 2 millisecondes. Mon problème est que je ne peux pas trouver un moyen de produire ce même retard via l'interface de MATLAB. Je sais que MATLAB a une pause()
fonction, mais quand je mets en place une boucle dans MATLAB comme ceci:
a = arduino('COM4');
for m = 1:400
a.digitalWrite(2, 1);
pause(0.001);
a.digitalWrite(2, 0);
pause(0.001);
end
Chaque étape prend beaucoup plus de temps - environ 200 millisecondes chacune.
Quelles sont les autres options pour créer la pause entre l'envoi numérique haut / bas à l'Arduino? Ce serait bien si je pouvais contrôler le résultat de Matlab, via Arduino.