Essaies avec ce programme A9488_Test en câblant:
D13 sur ENABLE
D9 sur STEP
D8 sur DIRECTION
Ne pas oublier de faire le pont entre RESET et SLEEP
Gilbert
[// --- Commande d'un StepStick/Driver A4988 ----------------------
// A4988_Test.ino
//
// Commande d'un moteur pas-à-pas à l'aide d'un pilote A4988 avec
// Arduino.
//
// Un projet www.mchobby.be (vente de kit et composant)
// Meurisse D. - Licence CC-SA-BY
//
#define pinEnable 13 // Activation du driver/pilote
#define pinStep 9 // Signal de PAS (avancement)
#define pinDir 8 // Direction
int pas=200;
int temps=10;
void setup()
{
Serial.begin(19200);
Serial.println("Test A4988");
pinMode( pinEnable, OUTPUT );
pinMode( pinDir , OUTPUT );
pinMode( pinStep , OUTPUT );
}
void loop()
{
avant();
arriere();
}
void avant()
{
digitalWrite( pinDir , HIGH); // Direction avant
digitalWrite( pinStep , LOW); // Initialisation de la broche step
// Avance de x pas
for(int i=0; i<pas; i++){
Serial.println( i );
digitalWrite( pinStep, HIGH );
delay( temps );
digitalWrite( pinStep, LOW );
delay( temps );
}
delay(2000);
}
void arriere()
{
// Changer de direction
digitalWrite( pinDir , LOW); // Direction avant
// Refaire x pas dans l'autre sens
for(int i=pas; i>0; i--)
{
Serial.println( i );
digitalWrite( pinStep, HIGH );
delay( temps );
digitalWrite( pinStep, LOW );
delay( temps );
}
// Pas de step et pas d'ordre...
// l'axe du moteur est donc bloqué
Serial.println("Axe bloque + attendre 3 sec");
delay( 3000 );
// déblocage de l'axe moteur
Serial.println("Deblocage axe");
digitalWrite( pinEnable, HIGH ); // logique inversée
fin ();
}
void fin()
{
// Fin et blocage du programme
// Presser reset pour recommander
Serial.println("Fin de programme");
Serial.println("Presser reset pour recommander");
while(1==1);{}
}