############################
# E002_LED_SOS.PY: Parpadean 2 LED con SOS
# ENTRADAS: Secuencia SOS
# SALIDAS: GPIO18 verde y GPIO17 rojo
############################
import machine
import time
# Configura los pines para el LED verde y rojo
pin_verde = machine.Pin(18, machine.Pin.OUT)
pin_rojo = machine.Pin(17, machine.Pin.OUT)
# Tiempos de parpadeo
tpS = 0.5 # tiempo parpadeo letra S
tpO = 0.2 # tiempo parpadeo letra O
# Configuraciones para las letras
letras= {
"Sr": {"led": pin_rojo, "color": "Rojo", "tiempo": tpS, "repetir": 3},
"Or": {"led": pin_rojo, "color": "Rojo", "tiempo": tpO, "repetir": 3},
"Sv": {"led": pin_verde, "color": "Verde", "tiempo": tpS, "repetir": 3},
"Ov": {"led": pin_verde, "color": "Verde", "tiempo": tpO, "repetir": 3},}
# Función para hacer parpadear una letra
def parpadear_letra(letra):
config = letras[letra]
for _ in range(config["repetir"]):
config["led"].on()
print(f"{config['color']} LED encendido")
time.sleep(config["tiempo"])
config["led"].off()
print(f"{config['color']} LED apagado")
time.sleep(config["tiempo"])
# Bucle infinito para la secuencia SOS
while True:
for letra in ["Sr", "Or", "Sr", "Sv", "Ov", "Sv"]:
parpadear_letra(letra)
time.sleep(tpS * 2) # Pausa de tpS*2 segundos entre letras o secuencias