Der Code
Hier ist ein Beispielcode für eure Programmierung in Micropython in der IDE Thonny auf dem Raspberry Pi Pico.
# Bibliotheken laden
#---------------------------------------------------------------------
from machine import Pin, I2C
from#
import time
import sleeputime
import framebuf
#
import dht
from ssd1306 import SSD1306_I2C
#
# OLED Pixelpixel Definierendefinition (WxH) vom SSD1306 DIsplay
WIDTH = 128
HEIGHT = 32
# DHT22I2C0 Sensorpin an GP2
sensor = dht.DHT22(Pin(2))
# i2c Zweidraht an Pin GP5, GP4 definierenassignments
SCL = 5
SDA = 4
# InitializeDHT22 i2csensor
#---------------------------------------------------------------------sensor = dht.DHT22(Pin(2))
# wirdInitialize auchI2C0, alsScan Inter-Integratedand CircuitDebug beschriebenprint #of undSSD1306 wirdI2C (Eng.)device I-Squared-C ausgesprochen
# i2c ist eine zweidraht (z.B. scl und sda) Bus
# ein Bus bildet die elektronische Verbindung zwischen mehreren digitalen Bauteilen
# scl (Eng. Serial Clock) gibt dabei den haupt 'Talkt' der Signale an
# sda (Eng. Serial Data) überträgt Die Datenaddress
i2c = I2C(0, scl=Pin(SCL), sda=Pin(SDA), freq=200000)
# Initialize OLED
oled = SSD1306_I2C(WIDTH, HEIGHT, i2c)
# GibtInitialize demLED Display(Pin Zeit25)
nachled 250= msmachine.Pin(25,machine.Pin.OUT)
zu# reagieren,Toggle umLED Temperatur-functionality
unddef Luftfeuchtigkeits-DatenBlinkLED(timer_one):
anzuzeigen.led.toggle()
# Initialize timer_one. Used for toggling the on board LED
timer_one = machine.Timer()
# timer_one initialization for on board blinking LED at 200ms interval
timer_one.init(freq=5,mode=machine.Timer.PERIODIC,callback=BlinkLED)
while True:
time.sleep_ms(250)
# Wiederholung (Endlos-Schleife)
#---------------------------------------------------------------------
while True:
# Abrufen der Messwerte vom DHT22-Sensor
sensor.measure()
# Das Display von alten Informationen befreien
oled.fill(0)
# Abrufen der Temp.- und Luftfeuchtigkeits Daten aus dem DHT22
temp = sensor.temperature()
hum = sensor.humidity()
# Gibt dem Display vor die Temperatur-Daten anzuzeigen
oled.text("Temp. {} C".format(temp),5,5)
# Gibt dem Display vor die Luftfeuchtigkeit-Daten anzuzeigen
oled.text("Feucht. {:.0f} % ".format(hum),5,15)
##Show Display mit den Daten von temp. und hum. anzeigendisplay
oled.show()
# FünfWait Sekundenfor langFive warten,seconds. danachThen werdenproceed neueto Datencollect ausnext dersensor Erfassung des DHT22 fortgesetzt und neue Sensormesswerte angezeigt.reading.
time.sleep_ms(5000)