OLED Display 0.96 Zoll – ESP32 Tutorial
Einleitung
In diesem Tutorial zeigen wir Dir, wie Du mit einem ESP32 Mikrocontroller und einem OLED 0.96 Display auf einfache Weise Text anzeigen kannst. Wir begleiten Dich Schritt für Schritt durch den gesamten Prozess, von den benötigten Komponenten über den Schaltungsaufbau bis hin zur Programmierung in der Arduino IDE und der abschließenden Anwendung. Du lernst, wie Du die Hardware verbindest, den Code erstellst und schließlich etwas auf Deinem neuen Display ausgeben kannst. Wir erklären Dir die erforderlichen Komponenten, den detaillierten Schaltungsaufbau, die einzelnen Schritte der Code-Erstellung und wie Du das Ergebnis nutzen kannst.
Verschaltung
Teile
1x ESP32 Mikrocontroller
1x OLED 0.96 Display
4x Verbindungskabel
Bibliotheken
Adafruit_GFX.h
Adafruit_SSD1306.h
Code
Übersicht
In diesem Tutorial zeigen wir Dir, wie Du ganz einfach einen Temperatursensor mit einem OLED 0.96 Display und einem ESP32 Mikrocontroller auslesen und die Temperatur anzeigen kannst. Dieses Projekt ist ideal für Anfänger und bietet eine tolle Möglichkeit, in die Welt der Mikrocontroller und Sensoren einzutauchen.
Für dieses Projekt benötigst Du folgende Komponenten:
1x ESP32 Mikrocontroller
1x OLED 0.96 Display
4x Verbindungskabel
Mit diesen Komponenten bist Du bestens ausgestattet, um Dein eigenes Display-Projekt zu realisieren. Lass uns loslegen!

Pinout des OLED 0.96 Displays
Das OLED 0.96 Display verfügt typischerweise über vier Pins, die für die Kommunikation und die Stromversorgung benötigt werden. Diese Pins ermöglichen es dem ESP32 Mikrocontroller, Daten an das Display zu senden, um Informationen anzuzeigen.
Hier ist die Pinbelegung des OLED 0.96 Displays:
Vdd: Spannungsversorgung (typischerweise 3.3V)
GND: Masse
SCK (oder SCL): Serielle Taktleitung (für die I2C-Kommunikation)
SDA: Serielle Datenleitung (für die I2C-Kommunikation)

Hardware Aufbau / Verkabelung / Schaltungsaufbau
Für den Hardware Aufbau verbinden wir die Komponenten miteinander. Der 3,3V Ausgang des ESP32 wird mit dem Vcc Pin des OLED 0.96 verbunden, während der GND Pin des ESP32 an den GND Pin des OLED 0.96 angeschlossen wird. Für die I2C-Kommunikation verbinden wir den D21 Pin des ESP32 mit dem SDA Pin des OLED 0.96 und den D22 Pin des ESP32 mit dem SCK Pin des OLED 0.96.

Eine präzise und fehlerfreie Verdrahtung ist unerlässlich, damit der ESP32 die Signale des OLED 0.96 korrekt empfangen kann.
Sind diese Verbindungen erfolgreich hergestellt, kann es mit der Programmierung des ESP32 weitergehen. Im nächsten Abschnitt zeigen wir Dir detailliert, wie Du die notwendige Bibliothek einbindest und den Code für das OLED 0.96 Display programmierst.
Software Programmierung
Nachdem der Hardware-Aufbau erfolgreich abgeschlossen wurde, wenden wir uns nun der Programmierung des ESP32 zu. In diesem Abschnitt erklären wir Dir ausführlich die grundlegenden Schritte zur Erstellung des Codes und erläutern die wichtigsten Funktionen, die Du verwenden wirst.
Schritt 1: IDE Projekt
Öffne die Arduino-IDE und erstelle ein neues Projekt.
Um mit der Arduino-IDE zu arbeiten, starte zunächst die Anwendung auf Deinem Computer. Solltest Du die Arduino-IDE noch nicht installiert haben, findest Du unter folgendem Link eine Anleitung dazu: [Link zur Arduino-IDE Installation, falls bekannt].
Nachdem Du die Arduino-IDE geöffnet hast, erstellst Du ein neues Projekt, indem Du im Menü auf „Datei“ und dann auf „Neu“ klickst. Dadurch öffnet sich ein neues Fenster, in das Du Deinen Code eingeben kannst.
// Hier kommt dein Code
void setup(){
// Initialisierung
}
void loop(){
// Schleife
}
Schritt 2: Bibliothek einbinden
Um das OLED 0.96 Display anzusteuern, müssen wir die passenden Bibliotheken in Deine Arduino-IDE einbinden. Gehe dazu im Menü auf „Sketch“, wähle „Bibliothek einbinden“ und klicke anschließend auf „Bibliotheken verwalten…“.
Wir benötigen die Bibliotheken „Adafruit_GFX.h“ und „Adafruit_SSD1306.h“. Suche im Bibliotheksverwalter nach diesen beiden Bibliotheken und installiere sie. Diese Bibliotheken stellen die notwendigen Funktionen bereit, um mit dem OLED 0.96 Display zu kommunizieren und Text sowie Grafiken anzuzeigen.
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Schritt 3: Initialisierung
Vor dem void setup() Block werden globale Variablen und Objekte deklariert. Hier erstellen wir ein Objekt namens display der Klasse Adafruit_SSD1306. Dieser Konstruktor nimmt die Bildschirmbreite und -höhe sowie die I2C-Schnittstelle und die Reset-Pin-Nummer entgegen. In unserem Fall nutzen wir die I2C-Kommunikation, daher übergeben wir &Wire für die I2C-Schnittstelle und -1, da wir keinen Reset-Pin verwenden. Außerdem definieren wir Konstanten für die Breite und Höhe des Displays.
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
Schritt 4: Void Setup
Im void setup() Block werdenInitialisierungen durchgeführt, die nur einmal beim Start des ESP32 ausgeführt werden. Zuerst wird die serielle Kommunikation mit einer Baudrate von 115200 Baud gestartet, was für Debugging-Ausgaben nützlich ist. Anschließend wird das OLED 0.96 Display über die I2C-Adresse 0x3C initialisiert. Falls die Initialisierung fehlschlägt, wird eine Fehlermeldung im seriellen Monitor ausgegeben und das Programm stoppt. Nach einer kurzen Pause wird „Connected“ im seriellen Monitor ausgegeben, der Display-Inhalt gelöscht und die Textgröße sowie -farbe für die nachfolgende Ausgabe festgelegt. Zum Schluss wird der Text „Hallo Welt!“ an der Position (10, 0) auf dem Display angezeigt.
void setup() {
Serial.begin(115200); //Initialisiere Serieller Monitor
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { //I2C Adresse 0x3C
Serial.println(F("SSD1306 Zuweisung fehlgeschlagen"));
for(;;);
}
delay(2000); //2 Sekunden Pause
Serial.println(F("Connected")); //Im Serieller Monitor "Connected" ausgeben
display.clearDisplay(); //Inhalt auf dem OLED löschen
display.setTextSize(1); //Text-Größe
display.setTextColor(WHITE); //Text-Farbe
display.setCursor(10, 0); //Text-Position (X und Y)
display.println("Hallo Welt!"); //Text definieren
display.display(); //Ausgabe auf dem Display
}
Schritt 5: Loop Setup
Der void loop() Block enthält den Code, der kontinuierlich wiederholt wird, nachdem der setup() Block einmalig durchgelaufen ist. In unserem aktuellen Beispiel ist dieser Block leer, da wir in diesem Tutorial primär die Initialisierung und eine einfache Textausgabe auf dem OLED 0.96 Display demonstrieren möchten. Später würden hier die Logik zum Auslesen des Temperatursensors und zur Aktualisierung der Anzeige implementiert werden.
void loop() {
}
Gesamter Code
Hier ist zur besseren Übersicht noch einmal der vollständige Programmcode:
/*********
Enrique Fernandez
Sensors at https://chipnorm.de
Tutorials at https://fmh-studios.de
*********/
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200); //Initialisiere Serieller Monitor
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { //I2C Adresse 0x3C
Serial.println(F("SSD1306 Zuweisung fehlgeschlagen"));
for(;;);
}
delay(2000); //2 Sekunden Pause
Serial.println(F("Connected")); //Im Serieller Monitor "Connected" ausgeben
display.clearDisplay(); //Inhalt auf dem OLED löschen
display.setTextSize(1); //Text-Größe
display.setTextColor(WHITE); //Text-Farbe
display.setCursor(10, 0); //Text-Position (X und Y)
display.println("Hallo Welt!"); //Text definieren
display.display(); //Ausgabe auf dem Display
}
void loop() {
}
Ausführung / Anwendung
Sobald der Code in der IDE eingegeben wurde, muss dieser kompiliert und auf den ESP32 übertragen werden.
Hier sind die Schritte dazu:
Schritt 1: Klicke auf die Schaltfläche „Kompilieren“ (das Häkchen-Symbol), um den Code zu überprüfen. Schritt 2: Verbinde Deinen ESP32 über USB mit Deinem Computer und klicke auf die Schaltfläche „Hochladen“ (der Pfeil-Symbol), um den Code auf den Mikrocontroller zu übertragen. Schritt 3: Öffne den seriellen Monitor (das Lupen-Symbol), um eventuelle Ausgaben des ESP32 zu sehen. Schritt 4: Auf dem OLED 0.96 Display sollte nun der Text „Hallo Welt!“ angezeigt werden.