#define LED1 D0 #define LED2 D6 #define LED3 D7 #define BUTTON D1 int buttonState = 0; int lastButtonState = 0; void setup() { pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(BUTTON, INPUT); } void loop() { buttonState = digitalRead(BUTTON); if (buttonState != lastButtonState) { if (buttonState == HIGH) { // Realizar acciones cuando el botón está presionado fadeLEDs(); } delay(50); // Debounce } lastButtonState = buttonState; } void fadeLEDs() { const int fadeDuration = 2000; // Duración de la animación en milisegundos const int steps = 100; // Número de pasos de la animación const int delayBetweenSteps = fadeDuration / steps; for (int i = 0; i <= steps; i++) { int brightness = map(i, 0, steps, 0, 255); analogWrite(LED1, brightness); analogWrite(LED2, brightness); analogWrite(LED3, brightness); delay(delayBetweenSteps); } for (int i = steps; i >= 0; i--) { int brightness = map(i, 0, steps, 0, 255); analogWrite(LED1, brightness); analogWrite(LED2, brightness); analogWrite(LED3, brightness); delay(delayBetweenSteps); } // Apagar LEDs al finalizar la animación digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); }