from machine import Pin, PWM
import time

sg90 = PWM(Pin(22, mode=Pin.OUT))
sg90.freq(50)
pir = Pin(2, Pin.IN, Pin.PULL_DOWN)

while True:
    user = input("Elija una opción (1 para modo automático, 2 para modo manual, 0 para salir): ")
    if user == "1":
        start_time = time.time()  
        automatic_duration = 60 

        while time.time() - start_time < automatic_duration:
            time.sleep(3)
            if pir.value() == 1:
                print("Movimiento detectado")
                sg90.duty(26)
                time.sleep(7)
                sg90.duty(123)
            else:
                print("Sin movimiento")
                sg90.duty(123)
                time.sleep(2)

    elif user == "2":
        print("Opción 2 seleccionada. Realiza las acciones correspondientes aquí.")
        while True:
            manual_option = input("Presione un botón (A para abrir, B para cerrar, 0 para salir del modo manual): ")

            if manual_option == "A":
                sg90.duty(26)
                print("Realizando la acción A (abrir)")

            elif manual_option == "B":
                sg90.duty(123)
                print("Realizando la acción B (cerrar)")

            elif manual_option == "0":
                print("Saliendo del modo manual.")
                time.sleep(2)  # Breve espera antes de volver al menú principal
                break

            else:
                print("Opción no válida. Por favor, seleccione una opción válida.")
    
    elif user == "0":
        print("Saliendo del programa.")
        break

    else:
        print("Opción no válida. Por favor, seleccione una opción válida.")