from machine import I2C, Pin
from time import sleep
from pico_i2c_lcd import I2cLcd
from dht import DHT22 #agregamos el sensor DHT22
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
# obtiene la direccion I2C
I2C_ADDR = i2c.scan()[0]
# Define el sensor DHT22 en el pin GPIO5
dht = DHT22(Pin(5))
# crear objeto tipo lcd 2filas x 16 columnas
lcd = I2cLcd(i2c, I2C_ADDR, 2, 16)
# loop
while True:
dht.measure() # para tomar los valores del sensor
temp = dht.temperature() # se obtiene la temperatura en grados Celsius
hum = dht.humidity() # se obtiene la humedad en porcentaj e
#Muestra en la consola la temperatura y humedad imprimir valor {}, {:.1f} para usar 1 decimal
#format par indicar que valores agregar en Temperatura y Humedad
print("Temperatura: {}°C Humedad: {:.1f}% ".format(temp, hum))
lcd.clear() # Limpia la pantalla antes de mostrar nuevos valores.
lcd.putstr('Temp: ' + str(temp) + " C") # Muestra la temperatura
lcd.move_to(0,1) # Mueve el cursor a la 2da fila, recordemos que fila es igual a 0 y 1, y columnas son de 0 a 15
lcd.putstr('Hum: ' + str(hum) + " %") # Muestra la humedad en la 2da fila
sleep(2) # Espera 2 segundos antes de actualizar los nuevos datos