from machine import Pin, SoftI2C
import dht
import time
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
led = Pin(2, Pin.OUT)
sensor = dht.DHT22(Pin(14))
I2C_ADDR = 0x27
totalRows = 2
totalColumns = 16
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) # inicializando el método I2C para ESP32
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
while True:
sensor.measure() # leer los parámetros del sensor
t = sensor.temperature() # temperatura
h = sensor.humidity() # humedad
lcd.clear() # limpia el LCD antes de escribir nuevos valores
# Muestra la temperatura en la primera línea
lcd.move_to(0, 0) # Mueve el cursor a la primera columna de la primera línea
lcd.putstr("Temp: {}C".format(t))
# Muestra la humedad en la segunda línea
lcd.move_to(0, 1) # Mueve el cursor a la primera columna de la segunda línea
lcd.putstr("Hum: {}%".format(h))
# Control del LED con base en la temperatura
if t > 25:
led.on()
else:
led.off()
time.sleep(0.5)