Die e-Paper Displays von Waveshare gibt es mittlerweile zumindest in den kleinen Größen zwischen 1,54″ und 4,2″ zu leistbaren Preisen. Alle Displays sind auch in Modulbauweise verfügbar und enthalten einen Spannungsregler, der die benötigten 3,3V auch beim Anschluss an die 5V Digitalpins eines Arduino UNO sicherstellt. Der Datenaustausch mit diesen kleinen Displays von Waveshare erfolgt über den SPI Bus zur seriellen Kommunikation.

2.9inch E-Paper Module 296x128 Resolution 3.3V/5V Two-Color E-Ink Display Module epaper Screen SPI Interface for Raspberry Pi/Arduino/Nucleo Support Partial Refresh
  • SPI interface, for connecting with controller boards like Raspberry Pi/Arduino/Nucleo, etc.
  • Ultra low power consumption, basically power is only required for refreshing
  • Onboard voltage translator, compatible with 3.3V/5V MCUs
  • Comes with development resources and manual (examples for Raspberry Pi/Jetson Nano/Arduino/STM32)
  • No backlight, keeps displaying last content for a long time even when power down

Ihr kennt dieses Art Displays vielleicht aus dem Supermarkt von den digitalen Preisschildern oder von E-Book-Readern wie dem Amazon Kindle.

E-Paper oder E-Ink-Displays bestehen aus vielen mikroskopisch kleinen Kapseln mit elektrisch geladenen, eingefärbten Partikeln, die durch Anlegen einer Spannung ihre Position innerhalb dieser Kapsel verändern können.

Weitere Infos gibts im Wikipedia-Eintrag https://de.wikipedia.org/wiki/Elektronisches_Papier. Wenn ein Partikel seine Position eingenommen hat, behält es diese über einen längeren Zeitraum ohne weiteren Stromverbrauch.

Die Displays haben dadurch den großen Vorteil, dass sie nur bei der Änderung des Bildschirminhaltes einen höheren Stromverbrauch haben, zur Anzeige des Inhaltes dann aber fast keine Energie mehr benötigen. 

Ein Nachteil ist, dass die Änderung des Bildschirminhaltes relativ lange dauert, da die Farbpartikel ja wirklich bewegt werden müssen. Am besten geeignet sind die Displays also zur Anzeige von Inhalten, die sich nicht allzu oft ändern – Buchseiten eben oder Produktpreise im Supermarktregal oder – wie in meinem Fall, die Anzeige eines Sensorwertes, der nur alle paar Sekunden aktualisiert werden muss.

Ich habe mir das 2,9" Display Modul mit 128x296 Pixel bestellt, jedoch anfangs nicht zum Laufen gebracht. Den Beispielsketch von Waveshare konnte ich zwar kompilieren und auf den Arduino uploaden, die Reaktion des Displays war aber gleich Null.

Erst mit der alternativen GxEPD2 Library, die sehr komfortabel eine Vielzahl von e-Paper Displays der Hersteller Waveshare und Good Display auf verschiedenen Mikrocontrollern unterstützt, hatte ich dann Erfolg.

Der Anschluss des Displays an einen Arduino UNO R3 und die Verwendung der Library bis zum funktionsfähigen Demo-Sketch habe ich in diesem Video dokumentiert:

Nach der Installation der GxEPD2 Library, die übrigens auf der Adafruit GFX Library aufbaut, muss man zuerst im Example Sketch die passende Zeile suchen, mit der das richtige display Objekt für die Kombination aus eigenem Mikrocontroller und Display erzeugt wird. Diese Zeile benötigt man dann auch für die weiteren Beispielsketches!

Der Arduino UNO hat ja eigentlich viel zu wenig SRAM für Variablen, um den Bildschirminhalt für dieses Display überhaupt zwischenspeichern zu können. Die Library arbeitet deswegen auf den kleinen Arduinos mit einer Methode namens „Paged drawing“ und erzeugt den Bildschirminhalt in kleinen Teilen in einer Picture Loop, also einer Schleife im Programmcode, die mehrmals durchlaufen wird, bis alle Teile des Gesamtbildes aufgebaut und ans Display übertragen wurden.

Als nächstes Projekt steht jetzt die Temperaturmessung über ein BME280 Sennsor Modul samt Ausgabe auf dem e-Paper Display am Plan. Dazu aber mehr, sobald es soweit ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.