const int servoPin = 18; // Pin al que está conectado el servo
const int ledPin = 2;
const int buttonPin = 15;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
// Configura el canal de PWM
ledcSetup(0, 50, 16); // Canal 0, frecuencia de 50 Hz (PWM para servo), resolución de 16 bits
ledcAttachPin(servoPin, 0); // Asigna el pin al canal 0
Serial.begin(115200);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
Serial.println("Botón presionado, moviendo el servo...");
digitalWrite(ledPin, HIGH);
// Mueve el servo a 90 grados (ajusta el valor PWM según lo necesario)
int dutyCycle = 4096; // Ajusta el duty cycle para el ángulo deseado (0 a 65535)
ledcWrite(0, dutyCycle);
delay(2000);
// Regresa el servo a la posición original
ledcWrite(0, 2048); // Ajusta el valor para regresar a 0 grados
digitalWrite(ledPin, LOW);
}
}