############################
# E019_LEDRGB_ONOFF.PY: Activa on/off combinaciones de un LED RGB
# ENTRADAS: Secuencia de activacion y tiempo
# SALIDAS: GPIO32 rojo, GPIO12 verde y GPIO14 azul
# IMPORTANTE: El RGB usado es de ánodo común y por lo tanto
# los LED se encienden a LOW
############################
import machine
import time
# Configura los pines GPIO como salida puesta a 0 (color blanco)
pin_R = machine.Pin(32, machine.Pin.OUT, value=0)
pin_G = machine.Pin(12, machine.Pin.OUT, value=0)
pin_B = machine.Pin(14, machine.Pin.OUT, value=0)
# Lista de combinaciones posibles y sus nombres
combinaciones = [
((1, 1, 1), "Apagado"), # Se apagan a HIGH
((0, 1, 1), "Rojo"),
((1, 0, 1), "Verde"),
((1, 1, 0), "Azul"),
((0, 0, 1), "Amarillo"),
((0, 1, 0), "Morado"),
((1, 0, 0), "Turquesa"),
((0, 0, 0), "Blanco"),] # Se encienden a LOW
# Tiempo de activacion en segundos
t = .5
# Función para configurar el estado de los LED y mostrar el nombre del color
def set_leds(estado):
pin_R.value(estado[0])
pin_G.value(estado[1])
pin_B.value(estado[2])
return estado[0], estado[1], estado[2]
# Bucle principal
print ('\n'*50)
print ('Control de un LED RGB')
time.sleep(t) # Espera para ver color blanco inicial
try:
while True:
for combinacion, nombre_color in combinaciones:
estado_actual = set_leds(combinacion)
# Visualiza ajustando campos en dos columnas
print(f"Color: {nombre_color:<8} Estado: {estado_actual}")
time.sleep(t)
except KeyboardInterrupt:
print ('Programa terminado, apago LED RGB ')
set_leds((1,1,1))