#include #include Servo miServo; // Crea el objeto para controlar el servo int pinServo = 13; // Pin GPIO del ESP32 conectado a la señal del servo void setup() { Serial.begin(115200); // Asignación de temporizadores para el ESP32 (recomendado por la librería) ESP32PWM::allocateTimer(0); ESP32PWM::allocateTimer(1); ESP32PWM::allocateTimer(2); ESP32PWM::allocateTimer(3); // Los servos suelen trabajar a una frecuencia de 50Hz miServo.setPeriodHertz(50); // Conecta el servo al pin, con anchos de pulso mínimo (500us) y máximo (2400us) // Nota: Estos valores (500, 2400) son estándar, pero algunos servos usan (1000, 2000) miServo.attach(pinServo, 500, 2400); Serial.println("Iniciando prueba del servomotor..."); } void loop() { Serial.println("Moviendo a 180 grados..."); // Gira de 0 a 180 grados for (int pos = 0; pos <= 180; pos += 1) { miServo.write(pos); delay(15); // Espera 15ms para que el servo alcance la posición } delay(1000); // Pausa de 1 segundo Serial.println("Regresando a 0 grados..."); // Gira de 180 a 0 grados for (int pos = 180; pos >= 0; pos -= 1) { miServo.write(pos); delay(15); } delay(1000); // Pausa de 1 segundo }