from machine import Pin
import time
class SistemaUCI:
def __init__(self):
# Configuración de pines
self.p1 = Pin(19, Pin.IN) # amarillo (1)
self.p2 = Pin(21, Pin.IN) # azul (2)
self.p3 = Pin(22, Pin.IN) # rojo (3)
self.p4 = Pin(23, Pin.IN) # gris (4)
self.botonEnter = Pin(17, Pin.IN) # verde
self.botonCambiar = Pin(18, Pin.IN) # negro
self.ledOk = Pin(2, Pin.OUT) # verde = ok
self.ledError = Pin(4, Pin.OUT) # rojo = error
self.ledCambio = Pin(16, Pin.OUT) # azul = cambio
self.códigoAcceso = ''
self.códigoIngresado = ''
print("Vamos a configurar el sistema de la UCI, pon el código de acceso inicial.")
print("Cada pulsador tiene un número asignado del 1 al 4 en el siguiente orden:")
print("Amarillo = 1, Azul = 2, Rojo = 3, Gris = 4")
print("Comienza a configurar tu código de acceso")
self.configurar_codigo()
def ingresar_codigo(self):
código = ''
while True:
if self.p1.value() == 1:
código += '1'
print(código)
time.sleep(0.3)
while self.p1.value() == 1:
pass
elif self.p2.value() == 1:
código += '2'
print(código)
time.sleep(0.3)
while self.p2.value() == 1:
pass
elif self.p3.value() == 1:
código += '3'
print(código)
time.sleep(0.3)
while self.p3.value() == 1:
pass
elif self.p4.value() == 1:
código += '4'
print(código)
time.sleep(0.3)
while self.p4.value() == 1:
pass
if self.botonEnter.value() == 1:
print("El código ingresado es:", código)
time.sleep(0.3)
return código
elif self.botonCambiar.value() == 1:
print("Reinicio de código.")
time.sleep(0.3)
return ""
def configurar_codigo(self):
self.códigoAcceso = input("Ingrese el código de acceso a la UCI: ")
if not self.códigoAcceso:
self.códigoAcceso = input("Restablecer código de acceso: ")
def verificar_acceso(self):
while True:
print("Ingresar código para ingresar a la UCI:")
códigoIngresado = self.ingresar_codigo()
if códigoIngresado == "":
self.ledCambio.value(1)
self.códigoAcceso = input("Nuevo código: ")
time.sleep(2)
self.ledCambio.value(0)
time.sleep(0.3)
print("Ingresar código para ingresar a la UCI:")
códigoIngresado = self.ingresar_codigo()
if códigoIngresado == self.códigoAcceso:
print("Acceso concedido")
self.ledOk.value(1)
time.sleep(2)
self.ledOk.value(0)
time.sleep(0.3)
else:
print("Acceso denegado, intente de nuevo.")
self.ledError.value(1)
time.sleep(2)
self.ledError.value(0)
time.sleep(0.3)
# Instanciar el sistema
sistema = SistemaUCI()
sistema.verificar_acceso()