from machine import Pin, I2C
import ssd1306
import dht
from time import sleep
sensor = dht.DHT22(Pin(26))
button = Pin(12, Pin.IN, Pin.PULL_UP)
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
is_button_pressed = False
should_show_temperature = True
while True:
current_pressed = button.value() == 0
if not is_button_pressed and current_pressed:
should_show_temperature = not should_show_temperature
is_button_pressed = current_pressed
sensor.measure()
oled.fill(0)
if should_show_temperature:
t = sensor.temperature()
oled.text('Temperature:', 10, 10)
oled.text(f"{t} C", 10, 20)
else:
h = sensor.humidity()
oled.text('Humidity:', 10, 10)
oled.text(f"{h} %", 10, 20)
oled.show()
sleep(0.001)