# Inicializar pantalla LCD I2C y encoder rotativo
import machine
import lcd_2004
import time
lcd = lcd_2004.py(0x27, 22, 21)
# Inicializar variables
menu_principal = ["C41", "BYN"]
menu_cantidad = ["240 mL", "570 mL"]
opcion_principal = 0
opcion_cantidad = 0
# Función para mostrar el menú principal en la pantalla LCD
def mostrar_menu_principal():
lcd.clear()
lcd.set_cursor(0, 0)
lcd.write("Elige producto:")
lcd.set_cursor(0, 1)
lcd.write(f"{menu_principal[opcion_principal]} <")
# Función para mostrar el menú de cantidad en la pantalla LCD
def mostrar_menu_cantidad():
lcd.clear()
lcd.set_cursor(0, 0)
lcd.write("Elige cantidad:")
lcd.set_cursor(0, 1)
lcd.write(f"{menu_cantidad[opcion_cantidad]} <")
# Función para ejecutar el proceso de lavado con el producto C41
def lavado_c41(cantidad):
# Ingresar la cantidad de producto C41 en la cubeta
electrovalvula_c41.on()
bomba_c41.on()
while sensor_c41.read() < cantidad:
pass
electrovalvula_c41.off()
bomba_c41.off()
# Calentar el producto C41 a la temperatura de trabajo
resistencia_c41.on()
while sensor_temperatura_c41.read() < 37.8:
pass
resistencia_c41.off()
# Enviar el producto C41 al recipiente final
rele_9.on()
bomba_2.on()
while sensor_recipiente_final.read() < cantidad:
pass
rele_9.off()
bomba_2.off()
# Agitar el recipiente durante el tiempo especificado
motor_dc.run_time(time=3*60+15, speed=15)
motor_dc.stop()
# Vaciar el recipiente
rele_8.on()
bomba_1.on()
electrovalvula_recuperacion.on()
while sensor_cubeta.read() < cantidad:
pass
rele_8.off()
bomba_1.off()
electrovalvula_recuperacion.off()