#Neftali Tello
import machine
import time

# Configuración de pines
ENA = machine.PWM(machine.Pin(18))  # Habilitación del motor (PWM)
IN1 = machine.Pin(20, machine.Pin.OUT)  # Sentido de giro
IN2 = machine.Pin(21, machine.Pin.OUT)  # Sentido de giro

# Configuración de PWM en ENA (Velocidad del motor)
ENA.freq(1000)  # Frecuencia de 1 kHz

# Función para girar el motor
def girar_motor(velocidad, sentido):
    ENA.duty_u16(velocidad)  # Establecer velocidad
    if sentido == "horario":
        IN1.value(1)
        IN2.value(0)
    elif sentido == "antihorario":
        IN1.value(0)
        IN2.value(1)
    else:
        IN1.value(0)
        IN2.value(0)

# Bucle principal
try:
    while True:
        # Primera vuelta al 100% de velocidad
        print("Giro horario al 100%")
        girar_motor(65535, "horario")  # 100% de velocidad
        time.sleep(1)  # Espera de 1 segundo después del giro
        girar_motor(0, "detenido")  # Detener el motor después del giro
        time.sleep(1)  # Paro de 1 segundo antes de continuar

        print("Giro antihorario al 50%")
        girar_motor(32767, "antihorario")  # 50% de velocidad
        time.sleep(1)  # Espera de 1 segundo después del giro
        girar_motor(0, "detenido")  # Detener el motor después del giro
        time.sleep(1)  # Paro de 1 segundo antes de continuar

except KeyboardInterrupt:
    print("Interrumpido por el usuario")
finally:
    print("Motor detenido al salir")
    girar_motor(0, "detenido")  # Detener el motor al salir
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT
l298nBreakout