from machine import Pin, I2C
from time import sleep
import dht
import ssd1306
import network
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('Wokwi-GUEST', '')
while not wifi.isconnected() == True:
print(".",end="")
sleep(0.1)
print("Connected")
sensor = dht.DHT22(Pin(13))
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
breite = 128
hoehe = 64
display = ssd1306.SSD1306_I2C(breite, hoehe, i2c)
# display,text("Text", Versatz nach rechts, Versatz nach unten)
display.text("Hallo", 0, 0)
display.pixel(63,20,1) # X, Y, 1=weiß
display.line(10,60,100,45,1) # Start X,Y , Ende X,Y , Farbe
display.rect(10,45,91,16,1) # Start X,Y , Breite , Hoehe , Farbe
display.text("Es war Pause", 0, 30)
display.show() # Tatsächlich die Daten zum Display schicken
sleep(0.2)
display.fill(0) # Schwarz füllen
display.text("Sind wieder da", 0, 50)
display.show()
sleep(0.2)
display.fill(0)
display.show()
while True:
try: #Versuche...
sensor.measure()
except: #Wenn ein Fehler (Exception) auftritt,...
print("Messen fehlgeschlagen")
#print("Temperatur: ", sensor.temperature(), "°C")
print("Feuchtigkeit: ", sensor.humidity(), "%")
print(f"Temperatur: {sensor.temperature()} C")
# Aufgabe: Sensorwerte am Display anzeigen lassen, Go! :)
try:
display.fill(0)
display.text(f"Temp: {sensor.temperature()} C",5,10)
display.text(f"Feucht: {sensor.humidity()} %",5,35)
display.rect(1,1,127,51,1)
display.line(2,26,126,26,1) # Horizontale Linie
display.line(65,1,65,50,1) # Vertikale Linie
display.show()
sleep(1)
except:
print("Ins Display schreiben fehlgeschlagen")