/*
   Contrôle d'un moteur pas à pas avec A4988 et Arduino

   Plus d'infos:
   https://electroniqueamateur.blogspot.com/2021/05/controle-dun-moteur-pas-pas-avec-un.html
*/

#define brocheDir 2
#define brocheStep 3
#define nombreDePas 96


void setup()
{
  pinMode(brocheStep, OUTPUT);
  pinMode(brocheDir, OUTPUT);
}

void loop()
{
  // rotation dans un sens
  digitalWrite(brocheDir, HIGH);

  for (int i = 0; i < nombreDePas; i++)
  {
    digitalWrite(brocheStep, HIGH);
    delay(2);
    digitalWrite(brocheStep, LOW);
    delay(2);
  }
  delay(500);

  // rotation dans l'autre sens
  digitalWrite(brocheDir, LOW);

  for (int i = 0; i < nombreDePas; i++)
  {
    digitalWrite(brocheStep, HIGH);
    delay(20); // nous allons dix fois moins vite, dans cette direction
    digitalWrite(brocheStep, LOW);
    delay(20);
  }
  delay(500);
}