// Exemplo de Motor de Passo com Driver A4988 e Franzininho DIY 

#define DIR_PIN  2
#define STEP_PIN 3
#define DELAY_US 25000

void setup() {
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
  delay(1000);
}

void loop() {
  // Define sentido de rotação (horário)
  digitalWrite(DIR_PIN, HIGH);

  // Realiza uma volta completa
  for (int i = 0; i < 200; i++) {
    // Realiza um passo
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(DELAY_US);
    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(DELAY_US);
  }

  delay(1000);

  // Muda o sentido de rotação (anti-horário)
  digitalWrite(DIR_PIN, LOW);

  // Realiza uma volta completa
  for (int i = 0; i < 200; i++) {
    // Realiza um passo
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(DELAY_US);
    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(DELAY_US);
  }

  delay(1000);
}
A4988