#define BUTTON1 D10 #define BUTTON2 D9 #define Led1 D7 #define Led2 D6 #define DIR1 D0 #define STEP1 D1 #define DIR2 D2 #define STEP2 D3 void setup() { // Configurar los pines de los botones como entradas pinMode(BUTTON1, INPUT); pinMode(BUTTON2, INPUT); // Configurar los pines del driver A4988 como salidas pinMode(Led1, OUTPUT); pinMode(Led2, OUTPUT); pinMode(DIR1, OUTPUT); pinMode(STEP1, OUTPUT); pinMode(DIR2, OUTPUT); pinMode(STEP2, OUTPUT); } void loop() { // Leer el estado de los botones int B1 = digitalRead(BUTTON1); int B2 = digitalRead(BUTTON2); // Mover el motor hacia adelante si el botón de avance está presionado if (B1 == HIGH) { digitalWrite(DIR1, HIGH); // Establecer la dirección hacia adelante for (int i = 0; i <800; i++){ digitalWrite(Led1, HIGH); digitalWrite(STEP1, HIGH); delayMicroseconds(500); // Ajusta el tiempo de espera según sea necesario digitalWrite(STEP1, LOW); delayMicroseconds(500); } } if (B2 == HIGH) { digitalWrite(DIR1, LOW); // Establecer la dirección hacia atras for (int i = 0; i <800; i++){ digitalWrite(Led2, HIGH); digitalWrite(STEP1, HIGH); delayMicroseconds(500); // Ajusta el tiempo de espera según sea necesario digitalWrite(STEP1, LOW); delayMicroseconds(500); } } else { digitalWrite(Led1, LOW); digitalWrite(Led2, LOW); digitalWrite(STEP1, LOW); digitalWrite(STEP2, LOW); } }