from machine import Pin
from time import sleep
from dht import DHT22
import neopixel

# Configuración del sensor de temperatura DHT22
dht_pin = 15
dht = DHT22(Pin(dht_pin))

# Configuración del arreglo de LEDs WS2812
num_leds = 16  # Número de LEDs en tu arreglo
led_pin = 6    # Pin de datos del arreglo de LEDs WS2812
np = neopixel.NeoPixel(Pin(led_pin), num_leds)

# Función para leer temperatura del sensor DHT22
def read_temperature():
    dht.measure()
    return dht.temperature()

# Función para mostrar colores según la temperatura medida
def set_temperature_color(temperature):
    if temperature <= 36:
        color = (0, 255, 0)  # Color Verde
    elif temperature == 37.5:
        color = (255, 255, 0)  # Color Amarillo
    elif temperature == 38.3:
        color = (255, 165, 0)  # Color Naranja
    elif temperature >= 39:
        color = (255, 0, 0)  # Color Rojo
    else:
        color = (0, 0, 0)  # Apagar los LEDs si la temperatura no coincide

    # Encender LEDs gradualmente
    for i in range(num_leds):
        np[i] = color
        np.write()
        sleep(0.3)  # Pequeña pausa para ver el llenado gradual

# Función principal para leer temperatura y mostrar color
def main():
    while True:
        temperature = read_temperature()
        set_temperature_color(temperature)
        print(f"Temperatura: {temperature}°C")
        sleep(2)

if __name__ == "__main__":
    main()
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT