from machine import Pin, PWM
import time
# Pines
pin_servo = 15
pin_boton = 4
led_verde = 25
led_rojo = 33
# Configuración de hardware
servo = PWM(Pin(pin_servo), freq=50)
boton = Pin(pin_boton, Pin.IN, Pin.PULL_UP)
led_g = Pin(led_verde, Pin.OUT)
led_r = Pin(led_rojo, Pin.OUT)
# Funciones para mover el servo
def abrir_puerta():
servo.duty(125) #Ángulo 90 grados
led_g.value(1) #LED verde encendido
led_r.value(0) #LED rojo apagado
def cerrar_puerta():
servo.duty(25) # Ángulo aprox 0 grados (ajustable)
led_g.value(0) # LED verde apagado
led_r.value(1) # LED rojo encendido
time.sleep(3) # Mantiene LED rojo 3 seg
led_r.value(0) # Apaga LED rojo después de 3 seg
# Estado inicial: puerta cerrada
cerrar_puerta()
print("Ingrese su huella digital para abrir la puerta.")
# Bucle
while True:
if boton.value() == 0: #Botón presionado
print("Huella reconocida. Abriendo puerta...")
abrir_puerta()
time.sleep(3) #Mantiene la puerta abierta 3 segundos
print("Cerrando puerta...")
cerrar_puerta()
time.sleep(0.1)