from machine import Pin, PWM
from time import sleep
# Configurar el pin PWM
servo_pin = PWM(Pin(18), freq=50) # Pin 18 con frecuencia PWM de 50 Hz (necesario para servos)
# Función para mover el servomotor a un ángulo específico
def set_angle(angle):
# Convertir ángulo (0°-180°) en ciclo de trabajo (duty cycle)
duty = int(40 + (angle / 180) * 75) # Duty cycle entre 40 y 115 (aproximadamente)
servo_pin.duty(duty)
try:
while True:
# Mover a 0°
set_angle(0)
print("Servo en 0°")
sleep(2) # Esperar 2 segundos
# Mover a 180°
set_angle(180)
print("Servo en 180°")
sleep(2) # Esperar 2 segundos
except KeyboardInterrupt:
# Detener PWM al salir
servo_pin.deinit()
print("Programa detenido")