from machine import Pin, I2C
from time import sleep
import ssd1306
import dht
# ESP32 Pin assignment
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
sensor = dht.DHT22(Pin(14))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
while True:
try:
sleep(2)
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
print('Temperature: %3.1f C' %temp)
print('Humidity: %3.1f %%' %hum)
oled.text('Temp.: %3.1f C' %temp, 0, 10)
oled.text('Hum.: %3.1f %%' %hum, 0, 20)
oled.show()
except OSError as e:
print('Failed to read sensor.')
oled.text('Failed', 40, 10)
oled.text('to read', 35, 20)
oled.text('sensor!!!', 30, 30)
oled.show()