import utime
from machine import Pin,I2C
from ssd1306 import SSD1306_I2C
from dht import DHT22
i2c = I2C(0,sda = Pin(0), scl = Pin(1), freq = 400000)
oled = SSD1306_I2C(128, 64, i2c)
dht = DHT22(Pin(15))
dht.measure()
temp = dht.temperature()
hum = dht.humidity()
oled.fill(0)
oled.text("CLEAN.AIR.ACT!", 5, 10)
oled.text("2023-2024", 5, 20)
oled.text(">> Push button!", 5, 55)
oled.show()
def show_screen_1():
oled.fill(0)
oled.text("TEMPERATURE", 5, 10)
oled.text(str(temp) + " degrees", 5, 25)
oled.show()
def show_screen_2():
oled.fill(0)
oled.text("HUMIDITY", 5, 10)
oled.text(str(hum) + " %", 5, 25)
oled.show()
def show_screen_3():
oled.fill(0)
oled.text("FEELS LIKE", 5, 10)
oled.text("to be calculated", 5, 25)
oled.show()
button = machine.Pin(10, machine.Pin.IN, machine.Pin.PULL_UP) # Drukknop op pin 10
current_screen = 1 # Het huidige schermnummer
while True:
if button.value() == 0: # Als de knop wordt ingedrukt
current_screen += 1 # Schakel naar het volgende scherm
if current_screen > 3: # Als het laatste scherm is bereikt, ga terug naar het eerste scherm
current_screen = 1
if current_screen == 1:
show_screen_1()
elif current_screen == 2:
show_screen_2()
elif current_screen == 3:
show_screen_3()
# Wacht totdat de knop wordt losgelaten om de volgende schermwissel te voorkomen
while button.value() == 0:
utime.sleep(0.5)
pass