// Pines const int LED_BUILTIN = 2; const int stepPinX = 23; const int dirPinX = 25; const int enPin = 5; // Nuevo pin ENABLE const int stepPinY1 = 19; const int dirPinY1 = 18; const int stepPinY2 = 4; const int dirPinY2 = 2; void setup() { pinMode(LED_BUILTIN, OUTPUT); pinMode(stepPinX, OUTPUT); pinMode(dirPinX, OUTPUT); pinMode(dirPinY1, OUTPUT); pinMode(stepPinY1, OUTPUT); pinMode(dirPinY2, OUTPUT); pinMode(stepPinY2, OUTPUT); pinMode(enPin, OUTPUT); digitalWrite(enPin, LOW); // Activar driver al inicio } void loop() { // --- Motor activo --- digitalWrite(enPin, LOW); // Asegura que esté encendido // Girar en un sentido digitalWrite(dirPinX, HIGH); for(int i = 0; i < 200; i++) { digitalWrite(stepPinX, HIGH); delayMicroseconds(800); digitalWrite(stepPinX, LOW); delayMicroseconds(800); } delay(1000); // Girar en sentido contrario digitalWrite(dirPinX, LOW); for(int i = 0; i < 200; i++) { digitalWrite(stepPinX, HIGH); delayMicroseconds(800); digitalWrite(stepPinX, LOW); delayMicroseconds(800); } delay(1000); digitalWrite(dirPinY1, HIGH); for(int i = 0; i < 200; i++) { digitalWrite(stepPinY1, HIGH); delayMicroseconds(800); digitalWrite(stepPinY1, LOW); delayMicroseconds(800); } delay(1000); // Girar en sentido contrario digitalWrite(dirPinY1, LOW); for(int i = 0; i < 200; i++) { digitalWrite(stepPinY1, HIGH); delayMicroseconds(800); digitalWrite(stepPinY1, LOW); delayMicroseconds(800); } delay(1000); digitalWrite(dirPinY2, HIGH); for(int i = 0; i < 200; i++) { digitalWrite(stepPinY2, HIGH); delayMicroseconds(800); digitalWrite(stepPinY2, LOW); delayMicroseconds(800); } delay(1000); // Girar en sentido contrario digitalWrite(dirPinY2, LOW); for(int i = 0; i < 200; i++) { digitalWrite(stepPinY2, HIGH); delayMicroseconds(800); digitalWrite(stepPinY2, LOW); delayMicroseconds(800); } delay(1000); }