import dht
from machine import I2C,Pin
import time
from time import sleep
from pico_i2c_lcd import I2cLcd
DHTPIN = 2
DHTTYPE = dht.DHT22
dht_sensor = dht.DHT22(Pin(DHTPIN))
def initialize_i2c_lcd(sda_pin, scl_pin, i2c_freq):
i2c_bus = I2C(0, sda=Pin(sda_pin), scl=Pin(scl_pin), freq=i2c_freq)
i2c_address = i2c_bus.scan()[0]
return I2cLcd(i2c_bus, i2c_address, 2, 16), i2c_address
def display_data(lcd, i2c_address):
for address_format in (str, hex):
dht_sensor.measure()
h = dht_sensor.humidity()
t = dht_sensor.temperature()
lcd.putstr("Humi:{:.1f}% \nTemp:{:.1f}C".format(h, t))
sleep(2)
lcd.clear()
lcd_display, i2c_address = initialize_i2c_lcd(sda_pin=0, scl_pin=1, i2c_freq=400000)
while True:
display_data(lcd_display, i2c_address)