Siga estos pasos para conectar un controlador de motor paso a paso a un Arduino.
Pasos de cableado
- Conecte los pines PUL+ y DIR+ del controlador a pines digitales del Arduino. Por ejemplo, use el Pin 9 para PUL+ y el Pin 8 para DIR+.
- Conecte los pines PUL− y DIR− del controlador al pin GND del Arduino para establecer una masa común.
- Escriba un programa en su ordenador que asigne el Pin 9 como salida de pulso (PUL) y el Pin 8 como salida de dirección (DIR).
- Cargue el programa en el Arduino y alimente el Arduino mediante una fuente de alimentación de 5 V.
Importante: Asegúrese de que el Arduino y el controlador de motor paso a paso compartan una masa común (GND). Verifique que todos los niveles de tensión sean compatibles antes de encender el sistema.
Esquema
El esquema siguiente muestra el cableado básico entre el Arduino, el controlador de motor paso a paso, la fuente de alimentación y el motor paso a paso.

Código de ejemplo
int x;
void setup() {
pinMode(9, OUTPUT); // Pin 9 como PUL (pulso)
pinMode(8, OUTPUT); // Pin 8 como DIR (dirección)
}
void loop() {
digitalWrite(8, HIGH); // Establecer dirección: HIGH
for (x = 0; x < 400; x++) { // 400 pasos (una revolución con ajuste de 400 pulsos/rev)
digitalWrite(9, HIGH);
delayMicroseconds(500); // Controla la velocidad de rotación
digitalWrite(9, LOW);
delayMicroseconds(500); // Controla la velocidad de rotación
}
delay(1000); // Pausa de 1 segundo
digitalWrite(8, LOW); // Establecer dirección: LOW
for (x = 0; x < 400; x++) {
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
delayMicroseconds(500);
}
delay(1000); // Pausa de 1 segundo
}
Explicación del código
- La función
pinMode()configura el Pin 9 como salida de pulso (PUL) y el Pin 8 como salida de dirección (DIR). - La función
loop()contiene dos buclesfor, cada uno de los cuales comanda 400 pasos. El primer bucle establece DIR en HIGH y gira el motor en un sentido; el segundo bucle establece DIR en LOW y lo gira en sentido contrario. Las funcionesdigitalWrite()ydelayMicroseconds()generan conjuntamente el tren de pulsos y controlan la velocidad de rotación. - Una llamada a
delay(1000)después de cada bucleforpausa el programa durante 1 segundo antes de invertir la dirección.