Sketch pour piloter un moteur pas à pas avec ATtiny84 et driver A4988Polulu

Publié le par le Moujo

Ce sketch est inspiré de celui de Mr Meurisse qui l'a conçu pou Arduino UNO. (sur MC hobby)

Je l'ai adapté pour l'At84, voici le shéma :

Voici le sketch, il peut être utilisé pour toutes opération de levage, grues, portique, bossoirs, ancre..etc. Quand on n'a pas la place de mettre un servo, on utilise un micro-moteur pas à pas.

// At84A4988Test.ino --- Commande du Driver A4988 avec At84 -- Le Moujo --11/2020
/* Le croquis utilise 1744 octets (21%) de l'espace de stockage de programmes. Le maximum est de 7552 octets.
   Les variables globales utilisent 91 octets (17%) de mémoire dynamique, ce qui laisse 421 octets pour les variables locales. Le maximum est de 512 octets. */

#include <Stepper.h>
#define pinEnable  4 // Activation du driver
#define pinStep    7 // Signal de PAS
#define pinDir     6 // Direction
void setup() {
  Serial.begin(9600);
  Serial.println("Test A4988");
  pinMode( pinEnable, OUTPUT );
  pinMode( pinDir   , OUTPUT );
  pinMode( pinStep  , OUTPUT );
}
void loop() {
  int i = 0; // position de départ
  digitalWrite( pinDir   , HIGH); // Direction avant
  digitalWrite( pinStep  , LOW);  // Initialisation de la broche step
  for ( i = 0; i < 200; i++) { // Avance de 200 pas
    Serial.println( i );
    digitalWrite( pinStep, HIGH );
    delay( 1000 );
    digitalWrite( pinStep, LOW );
    delay( 1000 ); //1 seconde
  }
  // Changer de direction
  digitalWrite( pinDir, LOW); // Direction avant
  // Refaire 200 pas dans l'autre sens (retour au point 0)
  for ( i = 0; i < 200; i++) {
    Serial.println( i );
    digitalWrite( pinStep, HIGH );
    delay( 1000 ); //1 seconde
    digitalWrite( pinStep, LOW );
    delay( 1000 );
  }}
// Fin du programme

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article