import machine
from machine import Pin, SoftI2C
from i2c_lcd import I2cLcd
import dht
sensor = dht.DHT22(Pin(23))
I2C_ADDR = 0x27
totalRows = 2
totalColumns = 16
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000)
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
lcd.clear()
lcd.move_to(0, 0)
lcd.putstr('Temp: {:.1f}C'.format(temp))
lcd.move_to(0, 1)
lcd.putstr('Hum: {:.1f}%'.format(hum))
except OSError as e:
lcd.clear()
lcd.putstr('Sensor error')
machine.sleep(2000)