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()