from machine import Pin, SoftI2C, I2C
from time import sleep
import dht
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
I2C_ADDR = 0x27
totalRows = 2
totalColumns = 16
sdaPIN=Pin(21)
sclPIN=Pin(22)
i2c=I2C(0, sda=sdaPIN, scl=sclPIN, freq=10000)
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
Sensor_Data = dht.DHT22(Pin(0))
while True:
try:
sleep(2)
Sensor_Data.measure()
Temperature_in_Celsius = Sensor_Data .temperature()
Temperature_in_Fahrenheit= Temperature_in_Celsius * (1.8) + 32.0
Humidity = Sensor_Data .humidity()
print('Temperature_in_Celsius : %0.3f C ' %Temperature_in_Celsius)
time.sleep(1)
lcd.move_to(0, 0)
lcd.putstr(str(Temperature_in_Celsius))
sleep(2)
lcd.clear()
print('Temperature_in_Fahrenheit : %0.3f F ' %Temperature_in_Fahrenheit)
time.sleep(1)
lcd.move_to(1, 0)
lcd.putstr(str(Temperature_in_Fahrenheit))
sleep(2)
lcd.clear()
print('Humidity : %0.3f %%' %Humidity)
time.sleep(1)
lcd.move_to(0, 0)
lcd.putstr(str(Humidity))
sleep(2)
lcd.clear()
except OSError as e:
print('Failed to read sensor.')