Messwerte DHT-Sensor auf Waveshare 1,54 Zoll E-Ink anzeigen

Kate­go­rien: ,



Ziele des Projekts

Die Mess­wer­te eines DHT-Sen­sors wer­den auf einem 1,54 Zoll E-Ink-Dis­play dar­ge­stellt.

Anwen­dungs­bei­spiel, Dan­ke an Nor­bert Schrills
  • als Text
  • als Text und dem Zeit­punkt der letz­ten Mes­sung
  • als Text mit Sym­bo­len und dem Zeit­punkt der letz­ten Mes­sung

Benötigte Bauteile

Anschluss des Displays

Die Pins CLK, DIN (COPI) und CS sind durch den ⇒SPI-Bus des jewei­li­gen Mikro­con­trol­lers fest­ge­legt, die ande­ren Pins kön­nen frei ver­ge­ben wer­den.

Pin ESP32 WROOM/ESP32-DNodeM­CUESP32-C6Ardui­no Nano ESP32
BUSY4D111D9
RST15D22D7
DC2D63D6
CS5 (SPI)D8 (SPI)18 (SPI)D10 (SPI)
CLK18 (SPI)D5 (SPI)21 (SPI)D13 (SPI)
DIN23 (SPI)D7 (SPI)19 (SPI)D11 (SPI)
GNDGNDGNDGNDGND
VCC3,3V3,3V3,3V3,3V

Konfiguration der Mikrocontroller

Benötigte Bibliotheken

Grafikfunktionen

Schlüs­sel­wortPara­me­terAkti­on
width();Bild­schirm­brei­te fest­stel­len
height();Bild­schirm­hö­he fest­stel­len
init();Dis­play star­ten
setRotation(Richtung);Rich­tung = 0 → nicht dre­hen
Rich­tung = 1 → 90° dre­hen
Rich­tung = 2 → 180° dre­hen
Rich­tung = 3 → 270 ° dre­hen
Bild­schirm aus­rich­ten
fillScreen(Farbe);Stan­dard­far­ben:
GxEPD_WHITE
GxEPD_BLACK
GxEPD_RED
Bild­schirm­hin­ter­grund
setFull­Win­dow();gesam­ten Bild­schirm nut­zen
setPartialWindow(StartX, Star­tY, End­eX, EndeY);Teil des Bild­schirm nut­zen
drawPixel(x, y, Far­be);ein­zel­nen Pixel zeich­nen
drawLine(StartX, Star­tY, End­eX, EndeY, Far­be);Linie zeich­nen
drawFastHLine(StartX, Star­tY, Län­ge, Far­be);hori­zon­ta­le Linie zeich­nen
drawFastVLine(StartX, Star­tY, Län­ge, Far­be);ver­ti­ka­le Linie zeich­nen
drawRect(StartX, Star­tY,, Brei­te, Höhe, Far­be);Recht­eck zeich­nen
drawRoundRect(StartX, Star­tY, Brei­te, Höhe, Ecken­ra­di­us, Far­be);abge­run­de­tes Recht­eck zeich­nen
fillRect(StartX, Star­tY, Brei­te, Höhe, Füll­far­be);aus­ge­füll­tes Recht­eck zeich­nen
drawCircle(MittelpunkX, Mit­tel­punk­tY, Radi­us, Far­be);Kreis zeich­nen
fillCircle(MittelpunktX, Mit­tel­punk­tY, Radi­us, Füll­far­be);Aus­ge­füll­ten Kreis zeich­nen
setCursor(x, y);Cur­sor set­zen
setTextSize(Textgröße);Text­grö­ße bestim­men
setTextColor(Farbe);Text­far­be set­zen
print("Text"); println("Text");Text schrei­ben
setTextWrap(true/false);fal­se → Text fließt über den Rand des Dis­plays hin­aus
true → Text wird am Ende umge­bro­chen
Zei­len­um­bruch
drawBitmap(x, y, Bitmap_Array, Brei­te, Höhe, Far­be);Bit­map dart­sel­len

Beispielprogramm

Das Pro­gramm zeigt

  • mit der inter­nen Funk­ti­on der Biblio­thek Text an
  • mit der Biblio­thek U8g2_for_Adafruit_GFX Text an
    Die­se Biblio­thek ver­fügt über eine gro­ße Aus­wahl von Schrif­ten in ver­schie­de­nen Grö­ßen, sie kann im Gegen­satz zur inter­nen Text­dar­stel­lung auch Son­der­zei­chen und Umlau­te dar­stel­len
  • Krei­se, Lini­en und Recht­ecke
Text mit u8g2Krei­sehori­zon­ta­le Lini­enabge­run­de­te Recht­ecke

Du musst ab Zei­le 10 den ent­spre­chen­den Mikro­con­trol­ler aus­wäh­len.

Bitmaps darstellen

Array des Bitmaps erstellen

Bit­maps kön­nen nicht direkt auf dem Dis­play dar­ge­stellt wer­den, sie müs­sen als Array hexa­de­zi­ma­ler Wer­te vor­lie­gen.
Wäh­le oder erstel­le ein Bild mit den maxi­ma­len Maßen 200×200 Pixeln. Das Online-Tool ?https://javl.github.io/image2cpp/ wan­delt das Bild in ein Array um.

Das Programm

Das erstell­te Array muss in den Kopf des Pro­gramms ein­ge­fügt wer­den.
draw­Bit­map zeigt das Bild an.
Du musst ab Zei­le 8 den ent­spre­chen­den Mikro­con­trol­ler aus­wäh­len.

Teilbereiche des Bildschirms verwenden

Das Pro­gramm zeigt im set­up-Teil zunächst auf der lin­ken Sei­te einen Text an. Im loop-Teil wird mit set­Par­ti­al­Win­dow ein Bild­schirm­be­reich defi­niert. Dort wer­den die Bit­maps ange­zeigt, der lin­ke Teil des Bild­schirms bleibt unver­än­dert.

Du musst ab Zei­le 9 den ent­spre­chen­den Mikro­con­trol­ler aus­wäh­len.

Messwerte als Text

Du musst in Zei­le 9 den Pin des DHT-Sen­sors, in Zei­le 13 den Typ des DHT-Sen­sors anpas­sen und ab Zei­le 26 den pas­sen­den Mikro­con­trol­ler aus­wäh­len.

Messwerte als Text und Zeit der letzten Messung

Du musst in Zei­le 16 den Pin des DHT-Sen­­sors, in Zei­le 20 den Typ des DHT-Sen­­sors anpas­sen und ab Zei­le 70 den pas­sen­den Mikro­con­trol­ler aus­wäh­len.
Die Zeit der letz­ten Mes­sung wird erst nach dem ers­ten Durch­lauf (im Bei­spiel nach fünf Minu­ten) ange­zeigt.

Messwerte als Text, mit Symbolen und Zeit der letzten Messung

Du musst in Zei­le 16 den Pin des DHT-Sen­­sors, in Zei­le 20 den Typ des DHT-Sen­­sors anpas­sen und ab Zei­le 67 den pas­sen­den Mikro­con­trol­ler aus­wäh­len.


Quellen

Ähnliche Projekte


Letzte Aktualisierung: Aug. 4, 2026 @ 20:18