MTstepStepper: Exemple 4
Gestion par événements pour UNO, Nano, Mega
Homming
Ce programme donne un exemple de mise à l'origine.
Programme complet recommandé
// Ce programme initialise la position d'un moteur pas à pas, puis fait faire // un tour dans un sens un tour dans l'autre à un pas à pas #include// V1.0.5 Voir http://arduino.dansetrad.fr/MTobjects const float vitesse = 1 RPS; const uint8_t fdc = A0; // Fin de course; fermé au repos boolean initialise = false; // Avant homming, true après // Partie faisant faire un tout dans un sens, un tour dans l'autre void inversion(void); // Pré-définition MTstepStepper Stepper(pin_Step 2, pin_Dir 5, pin_EN 8, accelerations_sur 16*200 pas_ou_micro_pas, 16 pas_ou_micro_pas, vitesse, SENS_PAR_DEFAUT, inversion); void inversion(void) // Inversion du sens { if (initialise) { delay(1000); // Attendre un peu avant de repartir dans l'autre sens if (Stepper.getPosition() == 0) // Si il est en position de référence Stepper.move(Stepper.getMicroStepsPerTurn()); // On fait un tour else Stepper.moveTo(); // Sinon on revient en position de référence } } // Initialisation void setup() { // Initialisation du fin de course pinMode(fdc, INPUT_PULLUP); // Interrupteur entre fdc et Gnd // Mise à l'origine Stepper.setSpeed(vitesse / 10); // Doucement pendant la mise en référence Stepper.move(-CONTINUE); // Retour vers l'origine while (!digitalRead(fdc)); // Attente de la position d'origine Stepper.stop(); //On est à l'origine; on s'arrête Stepper.setOrigin(); // Repérer la position initialise = true; // Permettre le fonctionnement normal // Cycle normal Stepper.setSpeed(vitesse); // Reprise de la vitesse normale pour travailler inversion(); } void loop(){}