- Durch die Verwendung des I2C-Protokolls und die Nutzung der GPIO-Pins 21 und 22 des ESP32 wird der Verkabelungsaufwand minimiert.
- Implementierung grafischer Funktionen mithilfe von Bibliotheken zum Zeichnen von Formen, Linien und Text in Echtzeit.
- Funktionsweise basierend auf der Rekombination von Elektronen und Löchern in organischen Schichten zur Erzeugung von eigenem Licht.
Wenn Sie sich für Elektronik begeistern und nach einer coolen Möglichkeit suchen, Ihre Projekte zum Leben zu erwecken, ist die Integration eines OLED-Bildschirms mit einem ESP32 einfach genial. Diese Bildschirme sehen nicht nur stylisch aus, sondern verwandeln Ihre Geräte auch von mysteriösen Blackboxes in Geräte, die in Echtzeit Daten austauschen – ganz ohne dass Sie ständig vor Ihrem PC-Monitor sitzen müssen.
Das Beste daran ist: Auch wenn es technisch anspruchsvoll erscheinen mag, ist es heutzutage kinderleicht. Ob Sie nun einen Energiezähler für Ihr Zuhause in Home Assistant integrieren oder eine einfache Digitaluhr einrichten möchten – dank der zahlreichen verfügbaren Bibliotheken und Hardware kann jeder Hobbybastler im Handumdrehen professionelle Ergebnisse erzielen.
Was ist eigentlich ein OLED-Bildschirm und wie funktioniert er?
Zunächst ist es wichtig zu verstehen, dass die OLED-Technologie (organische Leuchtdiode) im Vergleich zu herkömmlichen Displays einen bedeutenden Fortschritt darstellt. Anders als LCDs, die eine Hintergrundbeleuchtung benötigen, leuchtet hier jedes Pixel einzeln. Dies wird durch eine zweischichtige organische Struktur erreicht : eine emittierende und eine leitfähige Schicht, die zwischen einer Anode und einer Kathode eingebettet sind.
Der Prozess ist reine Chemie und Physik: Beim Anlegen einer Spannung entsteht ein Elektronenfluss von der Kathode zur Emissionsschicht, während die Anode Elektronen aus der Leitungsschicht entfernt und so „Löcher“ erzeugt. Wenn Elektronen und Löcher aufeinandertreffen und rekombinieren, setzen sie Energie in Form von Photonen frei. Dadurch entsteht das sichtbare Licht und die leuchtenden Farben, die wir auf hochwertigen Mobiltelefonen und Fernsehern sehen. Da keine Hintergrundbeleuchtung benötigt wird, sind Schwarztöne absolut, da das Pixel einfach ausgeschaltet ist.
Vorbereitung des Untergrunds: Benötigte Materialien
Für die Einrichtung dieses Systems benötigen Sie kein Vermögen. Die Grundausstattung besteht aus einem ESP32 NodeMCU- Entwicklungsboard (das Modell mit dem CP2102-Chip ist sehr zuverlässig) und einem OLED-Bildschirm. Eine gängige Option ist der 1.3-Zoll-Bildschirm mit einem SSH1106-Controller oder dem klassischen SSD1306 mit einer Auflösung von 128 x 64 Pixeln, die für die Anzeige von Messwerten und einfachen Menüs völlig ausreicht.
Verbindungen: I2C vs SPI
Beim Anschließen des Displays werden Sie feststellen, dass es zwei Hauptprotokolle gibt. Zum einen gibt es SPI, das schneller ist und im Vollduplex-Modus arbeitet, aber mehr Leitungen (CS, SCK, MOSI und MISO) benötigt, was bei vielen Geräten das Steckbrett schnell unübersichtlich machen kann. Zum anderen gibt es das I2C-Protokoll , das sich durch seine Einfachheit auszeichnet, da es nur zwei Datenleitungen verwendet: SDA (Daten) und SCL (Takt).
Beim ESP32 können Sie, wenn Sie die Konfiguration benutzerdefinierter Pins per Software vermeiden möchten, die Standardanschlüsse verwenden . Im Allgemeinen verarbeitet GPIO 21 das SDA-Signal und GPIO 22 das SCL-Signal. Sie müssen lediglich diese beiden Leitungen sowie die Stromversorgung (VCC) und Masse (GND) anschließen, damit das Display Befehle empfängt.
Los geht's: Zeichnen auf dem Bildschirm
Sobald die Hardware bereit ist, widmen wir uns dem Code. Mithilfe von Bibliotheken wie der von Adafruit können wir den Bildschirm als Zeichenfläche nutzen, auf der wir geometrische Formen zeichnen. Dazu verwenden wir ein Objekt (üblicherweise „Zeichenfläche“ genannt). display) wodurch wir verschiedene Funktionen ausführen können, je nachdem, was wir anzeigen möchten.
- Punkte und Linien: Um ein einzelnes Pixel zu zeichnen, verwenden wir
drawPixel(X, Y, color)Wenn wir eine gerade Linie zwischen zwei Punkten zeichnen wollen, dann ist die FunktiondrawLineEs ist das geeignete Werkzeug zur Definition der Anfangs- und Endkoordinaten. - Kreise und Ellipsen: Wir können Konturen erstellen mit
drawCircleoder Kreise gefüllt mitfillCircleAngabe von Mittelpunkt und Radius. - Rechtecke: Um Rahmen oder Textfelder zu erstellen, verwenden wir
drawRectWenn der Hintergrund farbig sein soll, entscheiden wir uns fürfillRectEs gibt sogar abgerundete Rechtecke durchdrawRoundRectwodurch die Benutzeroberfläche deutlich moderner wirkt. - Dreiecke: Schließlich, für komplexere Formen,
drawTriangleEs ermöglicht Ihnen, drei verschiedene Punkte zum Schließen der Figur zu definieren, und es gibt auch eine ausgefüllte Version.
Durch das Erlernen dieser grundlegenden Funktionen und das Verständnis, dass das Koordinatensystem in der oberen linken Ecke beginnt, können Sie intuitive grafische Benutzeroberflächen entwerfen , die das Auslesen aller von Ihrem ESP32 erfassten Daten erleichtern und es Ihnen ermöglichen, Ihr Projekt vom Prototyp zum professionell ausgearbeiteten Produkt weiterzuentwickeln.
Leidenschaftlicher Autor über die Welt der Bytes und der Technologie im Allgemeinen. Ich liebe es, mein Wissen durch Schreiben zu teilen, und genau das werde ich in diesem Blog tun und Ihnen die interessantesten Dinge über Gadgets, Software, Hardware, technologische Trends und mehr zeigen. Mein Ziel ist es, Ihnen dabei zu helfen, sich auf einfache und unterhaltsame Weise in der digitalen Welt zurechtzufinden.