#include <ESP32Servo.h>
Servo SM1;
int pinBoton = 18;
int pinLED = 2;
int pinServo = 4;
void setup() {
pinMode(pinBoton, INPUT_PULLUP);
pinMode(pinLED, OUTPUT);
SM1.attach(pinServo);
SM1.write(0); // Empieza cerrado
}
void loop() {
// Si el botón está presionado
if (digitalRead(pinBoton) == LOW) {
digitalWrite(pinLED, HIGH);
// Abrir gradualmente de 0° a 90°
for (int i = 0; i <= 90; i++) {
SM1.write(i);
delay(15);
}
// Esperar 5 segundos
for (int i = 0; i < 5; i++) {
delay(1000);
}
// Cerrar gradualmente de 90° a 0°
for (int i = 90; i >= 0; i--) {
SM1.write(i);
delay(15);
}
digitalWrite(pinLED, LOW);
}
}