from neopixel import NeoPixel
import machine
# Configuración del anillo de LEDS
num_leds = 18 # Número de LEDs en el anillo
pin_led = machine.Pin(4) # Pin GPIO al que está conectado el anillo WS2812
np = NeoPixel(pin_led, num_leds)
# Lista de colores disponibles
colores_disponibles = [
(255, 0, 0), # Rojo
(255, 128, 0), # Naranja
(255, 255, 0), # Amarillo
(0, 255, 0), # Verde
(0, 255, 255), # Cian
(0, 0, 255), # Azul
(128, 0, 255), # Morado
(255, 0, 255) # Magenta
]
# Inicializa el índice de color actual
indice_color_actual = 0
# Establece la hora manualmente (HH:MM)
hora_manual = (6, 0) # Por ejemplo, establece la hora a las 12:00
try:
while True:
# Imprime la hora actual en consola
print("Hora actual: {:02d}:{:02d}".format(hora_manual[0], hora_manual[1]))
# Obtiene el color correspondiente del índice actual
color_seleccionado = colores_disponibles[indice_color_actual]
# Asigna el color correspondiente
for i in range(num_leds):
np[i] = color_seleccionado
# Actualiza los LEDs con el color asignado
np.write()
# Permite al usuario modificar la hora manualmente
nueva_hora = input("Ingrese la hora en formato HH:MM (o presione Enter para mantener la hora actual): ")
if nueva_hora:
try:
hora_manual = tuple(map(int, nueva_hora.split(":")))
except ValueError:
print("Formato de hora no válido. Use HH:MM.")
# Incrementa el índice de color actual
indice_color_actual = (indice_color_actual + 1) % len(colores_disponibles)
except KeyboardInterrupt:
pass