from machine import Pin, I2C
from time import sleep_ms
from dht import DHT22
import ssd1306
# I2C pin assignment (delete first parameter on error)
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
# create oled-display instance
oledSensor = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
minuteCounter = 0 # initialize minute-counter
secondCounter = 0 # initialize second-counter
# create dht-sensor instance
dhtSensor = DHT22(Pin(13)) # any GPIO-Pin
temperature = 0.0 # variable to save temperature value
humidity = 0.0 # variable to save humidity value
while True:
dhtSensor.measure() # read sensor measurements
temperature = dhtSensor.temperature()
humidity = dhtSensor.humidity()
# print("T: %.1f C" %temperature) # output temperature value
# print("H: %.1f %%" %humidity) # output humidity value
oledSensor.fill(0) # clear display
oledSensor.text("T: %.1f C" %temperature, 0, 13)
oledSensor.text("H: %.1f %%" %humidity, 0, 25)
oledSensor.show()
secondCounter = secondCounter + 1;
if secondCounter == 60:
secondCounter = 0
minuteCounter = minuteCounter + 1
sleep_ms(1000); # pause for one second (1.000 milliseconds)