# Importar los módulos necesarios
from machine import Pin, I2C
from utime import sleep
from dht import DHT22
# Configuración del sensor DHT22 en el pin 18
sensorDHT = DHT22(Pin(18))
# Configuración los LEDS en el pin 5 y pin 21 como salida
ledCalor = Pin(5, Pin.OUT)
ledFrio = Pin(21, Pin.OUT)
# Importar el módulo SSD1306 y configurar el bus I2C en los pines 25 (SDA) y 26 (SCL)
import ssd1306
i2c = I2C(sda=Pin(25), scl=Pin(26))
# Inicialización del display SSD1306 en el bus I2C
display = ssd1306.SSD1306_I2C(128, 64, i2c)
while True:
# Medir la temperatura y la humedad con el sensor DHT22
sensorDHT.measure()
temp = sensorDHT.temperature()
hum = sensorDHT.humidity()
# Esperar 1 segundo
sleep(1)
# Limpiar el display
display.fill(0)
# Mostrar temperatura en el display
display.text('Temperatura:', 0, 0, 1)
display.text(f"{temp}" + "°C", 0, 10, 1)
# Mostrar humedad en el display
display.text('Humedad:', 0, 30, 1)
display.text(f"{hum}" + "%", 0, 40, 1)
# Actualizar el display
display.show()
# Si la temperatura es mayor o igual a 40°C, encender el LED rojo y apagar el azul
if temp >= 40:
ledCalor.on()
ledFrio.off()
# Si la temperatura es mayor o igual a 20°C y menor a 40°C, no encender ningun LED
elif temp >= 20:
ledCalor.off()
ledFrio.off()
# Si la temperatura es menor a 20°C, encender el LED azul y apagar el rojo
else:
ledCalor.off()
ledFrio.on()
# Esperar 1 segundo antes de la próxima lectura
sleep(1)
Loading
ssd1306
ssd1306