1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| //
// 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
//
// Un tutoriel http://mchobby.be/wiki/index.php?title=A4988
// Ou Acheter un StepStick A4988
// http://shop.mchobby.be/product.php?id_product=349
//
#define pinEnable 13 // Activation du driver/pilote
#define pinStep 9 // Signal de PAS (avancement)
#define pinDir 8 // Direction
void setup(){
Serial.begin(9600);
Serial.println("Test A4988");
pinMode( pinEnable, OUTPUT );
pinMode( pinDir , OUTPUT );
pinMode( pinStep , OUTPUT );
}
void loop(){
int i = 0;
digitalWrite( pinDir , HIGH); // Direction avant
digitalWrite( pinStep , LOW); // Initialisation de la broche step
// Avance de 10000 pas
for( i=0; i<10000; i++){
Serial.println( i );
digitalWrite( pinStep, HIGH );
delay( 0.1 );
digitalWrite( pinStep, LOW );
delay( 0.1 );
}
// Pas de step et pas d'ordre...
// l'axe du moteur est donc bloqué
Serial.println("Axe bloqué + attendre 5 sec");
delay( 5000 );
// déblocage de l'axe moteur
Serial.println("Deblocage axe");
digitalWrite( pinEnable, HIGH ); // logique inversée
// Fin et blocage du programme
// Presser reset pour recommander
Serial.println("Fin de programme");
while( true );
} |
Partager