Siga estes passos para ligar um driver de motor de passo a um Arduino.
Passos de Ligação
- Ligue os pinos PUL+ e DIR+ do driver aos pinos digitais do Arduino. Por exemplo, use o Pino 9 para PUL+ e o Pino 8 para DIR+.
- Ligue os pinos PUL− e DIR− do driver ao pino GND do Arduino para estabelecer um terra comum.
- Escreva um programa no seu computador que atribua o Pino 9 como saída de pulso (PUL) e o Pino 8 como saída de direção (DIR).
- Carregue o programa no Arduino e alimente o Arduino com uma fonte de alimentação de 5 V.
Importante: Certifique-se de que o Arduino e o driver de motor de passo partilham um terra comum (GND). Verifique se todos os níveis de tensão são compatíveis antes de ligar o sistema.
Esquema Elétrico
O esquema abaixo mostra a ligação básica entre o Arduino, o driver de motor de passo, a fonte de alimentação e o motor de passo.

Código de Exemplo
int x;
void setup() {
pinMode(9, OUTPUT); // Pino 9 como PUL (pulso)
pinMode(8, OUTPUT); // Pino 8 como DIR (direção)
}
void loop() {
digitalWrite(8, HIGH); // Define direção: HIGH
for (x = 0; x < 400; x++) { // 400 passos (uma rotação com configuração de 400 pulsos/rotação)
digitalWrite(9, HIGH);
delayMicroseconds(500); // Controla a velocidade de rotação
digitalWrite(9, LOW);
delayMicroseconds(500); // Controla a velocidade de rotação
}
delay(1000); // Pausa de 1 segundo
digitalWrite(8, LOW); // Define direção: LOW
for (x = 0; x < 400; x++) {
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
delayMicroseconds(500);
}
delay(1000); // Pausa de 1 segundo
}
Explicação do Código
- A função
pinMode()configura o Pino 9 como saída de pulso (PUL) e o Pino 8 como saída de direção (DIR). - A função
loop()contém dois ciclosfor, cada um comandando 400 passos. O primeiro ciclo define DIR como HIGH e gira o motor num sentido; o segundo ciclo define DIR como LOW e gira-o no sentido oposto. As funçõesdigitalWrite()edelayMicroseconds()geram em conjunto o trem de pulsos e controlam a velocidade de rotação. - Uma chamada
delay(1000)após cada cicloforpausa o programa durante 1 segundo antes de inverter a direção.