Segui questi passaggi per collegare un driver per motore passo-passo ad Arduino.
Passaggi di cablaggio
- Collega i pin PUL+ e DIR+ del driver ai pin digitali di Arduino. Ad esempio, usa il Pin 9 per PUL+ e il Pin 8 per DIR+.
- Collega i pin PUL− e DIR− del driver al pin GND di Arduino per stabilire una massa comune.
- Scrivi un programma sul tuo computer che assegni il Pin 9 come uscita impulso (PUL) e il Pin 8 come uscita direzione (DIR).
- Carica il programma su Arduino e alimenta Arduino tramite un alimentatore a 5 V.
Importante: assicurati che Arduino e il driver per motore passo-passo condividano una massa comune (GND). Verifica che tutti i livelli di tensione siano compatibili prima di alimentare il sistema.
Schema elettrico
Lo schema seguente mostra il cablaggio di base tra Arduino, il driver per motore passo-passo, l'alimentatore e il motore passo-passo.

Codice di esempio
int x;
void setup() {
pinMode(9, OUTPUT); // Pin 9 come PUL (impulso)
pinMode(8, OUTPUT); // Pin 8 come DIR (direzione)
}
void loop() {
digitalWrite(8, HIGH); // Imposta direzione: HIGH
for (x = 0; x < 400; x++) { // 400 passi (una rivoluzione con impostazione driver a 400 impulsi/giro)
digitalWrite(9, HIGH);
delayMicroseconds(500); // Controlla la velocità di rotazione
digitalWrite(9, LOW);
delayMicroseconds(500); // Controlla la velocità di rotazione
}
delay(1000); // Pausa di 1 secondo
digitalWrite(8, LOW); // Imposta direzione: LOW
for (x = 0; x < 400; x++) {
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
delayMicroseconds(500);
}
delay(1000); // Pausa di 1 secondo
}
Spiegazione del codice
- La funzione
pinMode()configura il Pin 9 come uscita impulso (PUL) e il Pin 8 come uscita direzione (DIR). - La funzione
loop()contiene due cicliforche comandano ciascuno 400 passi. Il primo ciclo imposta DIR su HIGH e ruota il motore in una direzione; il secondo ciclo imposta DIR su LOW e lo ruota nella direzione opposta. Le funzionidigitalWrite()edelayMicroseconds()generano insieme il treno di impulsi e controllano la velocità di rotazione. - Una chiamata
delay(1000)dopo ogni cicloformette in pausa il programma per 1 secondo prima di invertire la direzione.