from machine import Pin
import time
# Configuración de pines
red_disponible = Pin(4, Pin.IN) # Señal de entrada cuando hay red
grupo_disponible = Pin(5, Pin.IN) # Señal de entrada cuando hay grupo
abrir_red = Pin(18, Pin.OUT) # Pulso de 10s para abrir interruptor de red
cerrar_red = Pin(19, Pin.OUT) # Pulso de 10s para cerrar interruptor de red
abrir_grupo = Pin(21, Pin.OUT) # Pulso de 10s para abrir interruptor de grupo
cerrar_grupo = Pin(22, Pin.OUT) # Pulso de 10s para cerrar interruptor de grupo
estado = "RED" if red_disponible.value() else "GRUPO"
def activar_pulso(pin):
""" Activa un pulso de 10 segundos en un pin """
pin.on()
time.sleep(10)
pin.off()
def transferir_a_grupo():
global estado
print("Esperando 1 minuto para transferir a grupo...")
time.sleep(60)
activar_pulso(abrir_red) # Abre interruptor de red
activar_pulso(cerrar_grupo) # Cierra interruptor de grupo
estado = "GRUPO"
print("Transferencia a grupo completada")
def transferir_a_red():
global estado
print("Esperando 1 minuto para transferir a red...")
time.sleep(60)
activar_pulso(abrir_grupo) # Abre interruptor de grupo
activar_pulso(cerrar_red) # Cierra interruptor de red
estado = "RED"
print("Transferencia a red completada")
while True:
if red_disponible.value() and estado == "GRUPO":
transferir_a_red()
elif not red_disponible.value() and grupo_disponible.value() and estado == "RED":
transferir_a_grupo()
time.sleep(1) # Pequeña espera para evitar lecturas rápidas