relative-position-move.ino
Utilise le mode position pour déplacer le moteur 2 de 1000 pas relatifs, utile pour le contrôle précis d'articulations.
Le module calcule la distance basée sur les ticks de l'encodeur. La fonction isBusy() permet de synchroniser le code principal avec la fin du mouvement physique. Vérifiez le sens de rotation selon le câblage.
relative-position-move.ino
#include <M5Stack_MotorDriverUnit.h>
M5Stack_MotorDriverUnit motorDriver;
void setup() {
M5.begin();
motorDriver.begin();
// Mode Position (Boucle fermée sur l'encodeur)
motorDriver.setMode(2, MODE_POSITION);
// Déplacer le moteur 2 de 1000 pas dans le sens horaire
motorDriver.moveRelative(2, 1000, 30); // 30% de vitesse max
}
void loop() {
// Attendre que le mouvement soit terminé
while (motorDriver.isBusy(2)) {
delay(10);
}
Serial.println("Move completed.");
delay(2000);
// Revenir à la position initiale
motorDriver.moveRelative(2, -1000, 30);
while (motorDriver.isBusy(2)) delay(10);
}