0.91 Zoll OLED Display I2C SSD1306 – 128×32 Pixel IIC Bildschirm für Arduino & ESP
€ 3,60
Gib deinen Projekten eine gestochen scharfe Anzeige mit diesem kompakten 0.91 Zoll OLED Display. Dank der OLED-Technologie liefert es brillante, kontrastreiche Bilder ohne Hintergrundbeleuchtung und ist dabei extrem stromsparend. Die Ansteuerung erfolgt über die einfache I2C-Schnittstelle, die nur zwei Datenpins deines Mikrocontrollers benötigt. Basierend auf dem Standard SSD1306-Treiber ist es perfekt, um Sensordaten, Texte oder kleine Grafiken anzuzeigen.
1 vorrätig
Du brauchst ein kleines Display, das aber eine große Wirkung hat? Dann ist dieses 0.91 Zoll OLED-Display genau das Richtige für dich! Es ist die perfekte Lösung, um deine Projekte mit einer hochwertigen und gut lesbaren Anzeige auszustatten, ohne viel Platz zu verbrauchen. Die OLED-Technologie sorgt für einen unschlagbaren Kontrast – schwarze Pixel sind wirklich schwarz, da sie einfach ausgeschaltet sind. Das spart nicht nur Energie, sondern macht die Anzeige auch aus jedem Blickwinkel perfekt lesbar.
Die Anbindung an deinen Arduino, ESP32 oder ein anderes Board ist dank der I2C-Schnittstelle (auch IIC genannt) denkbar einfach. Du benötigst nur vier Anschlüsse: Strom (VCC), Masse (GND) und die beiden Datenleitungen (SDA und SCL). Mit den weit verbreiteten Bibliotheken für den SSD1306-Treiberchip kannst du in wenigen Minuten Texte, Messwerte und sogar kleine Grafiken auf dem Display mit 128×32 Pixeln darstellen.
Deine technischen Vorteile im Überblick:
- Kompakte Größe: Mit 0.91 Zoll Diagonale perfekt für kleine und tragbare Projekte.
- Brillanter Kontrast: OLED-Technologie sorgt für tiefes Schwarz und leuchtende Pixel.
- Standard SSD1306 Treiber: Von vielen Bibliotheken (z.B. Adafruit GFX) bestens unterstützt.
- Pin-sparende I2C-Schnittstelle: Benötigt nur zwei Steuerleitungen (SDA/SCL).
- Klare Auflösung: 128 x 32 Pixel bieten genug Platz für mehrere Textzeilen.
- Flexibler Spannungsbereich: Kompatibel mit 3.3V- und 5V-Logikpegeln.
- Extrem stromsparend: Ideal für batteriebetriebene Anwendungen.
- Kompakte Abmessungen: Das Modul misst nur ca. 38 x 12 mm.
Vorbereitung: Notwendige Bibliotheken installieren
Bevor du den Code verwenden kannst, musst du zwei Bibliotheken über den Bibliotheksverwalter in der Arduino IDE installieren. Sie machen die Ansteuerung des Displays sehr einfach.
- Öffne die Arduino IDE.
- Gehe zu
Werkzeuge->Bibliotheken verwalten.... - Suche nach „Adafruit GFX Library“ und klicke auf „Installieren“.
- Suche nach „Adafruit SSD1306“ und klicke ebenfalls auf „Installieren“.
Verkabelung: Arduino Uno ➔ OLED Modul
Die Ansteuerung über I2C benötigt nur vier Kabel:
- OLED GND ➔ Arduino GND
- OLED VCC ➔ Arduino 5V
- OLED SCK/SCL ➔ Arduino Pin A5 (SCL)
- OLED SDA ➔ Arduino Pin A4 (SDA)
Arduino Uno R3 Code
/*
Beispielcode für das 0.91 Zoll I2C OLED Display (128x32)
Dieser Code initialisiert das Display, zeigt eine Startnachricht an
und gibt dann einen Zähler aus, der jede Sekunde hochzählt.
*/
// Benötigte Bibliotheken einbinden
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Display-Dimensionen definieren
#define SCREEN_WIDTH 128 // OLED Display Breite in Pixeln
#define SCREEN_HEIGHT 32 // OLED Display Höhe in Pixeln
// Deklaration für ein SSD1306 Display, das via I2C verbunden ist
// Der Reset-Pin wird nicht verwendet, daher -1
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Eine Variable für unseren Zähler
int counter = 0;
void setup() {
// Starte die serielle Kommunikation zur Fehlersuche
Serial.begin(9600);
// Initialisiere das OLED Display mit der I2C Adresse 0x3C (die häufigste Adresse)
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306-Initialisierung fehlgeschlagen"));
for(;;); // Endlosschleife bei Fehler
}
// Alles was jetzt kommt, wird erst nach display.display() angezeigt
// 1. Display leeren
display.clearDisplay();
// 2. Text-Eigenschaften festlegen
display.setTextSize(1); // Normale Schriftgröße (1)
display.setTextColor(SSD1306_WHITE); // Textfarbe WEISS
// 3. Start-Text schreiben
display.setCursor(0,0); // Cursor in die linke obere Ecke setzen (Spalte 0, Zeile 0)
display.println(F("Display Start!")); // Schreibe den Text
// 4. Den Inhalt des Puffers auf dem Display anzeigen
display.display();
delay(2000); // 2 Sekunden warten, damit man die Nachricht lesen kann
}
void loop() {
// Display für die neue Ausgabe leeren
display.clearDisplay();
// Cursor wieder an den Anfang setzen
display.setCursor(0,0);
// Statischen Text anzeigen
display.println(F("Arduino läuft:"));
// Zähler-Wert in eine neue Zeile schreiben
display.setCursor(0, 10);
display.print(F("Zaehler: "));
display.print(counter);
// Den neuen Inhalt anzeigen
display.display();
// Zähler für den nächsten Durchlauf erhöhen
counter++;
// Eine Sekunde warten
delay(1000);
}
Was der Code tut: Schritt für Schritt erklärt
- Einbinden der Bibliotheken: Zuerst werden die drei notwendigen Bibliotheken geladen:
Wire.hfür die I2C-Kommunikation und die beiden Adafruit-Bibliotheken für die Grafikfunktionen und die Display-Ansteuerung. - Display definieren: Es wird ein „Software-Objekt“ namens
displayerstellt, das genau zu unserem 128×32 Pixel I2C-Display passt. setup()– Die Initialisierung:- Das Programm versucht, eine Verbindung zum Display an der I2C-Adresse
0x3Cherzustellen. Dies ist die Standardadresse für die meisten dieser Module. - Wenn das Display nicht gefunden wird (z.B. wegen falscher Verkabelung), gibt es eine Fehlermeldung im Seriellen Monitor aus und stoppt.
- Wenn alles klappt, wird der Bildschirm geleert, die Textgröße und -farbe festgelegt und eine Startnachricht („Display Start!“) geschrieben.
display.display();ist der wichtigste Befehl: Er sendet alle gezeichneten Elemente aus dem Speicher des Arduinos an das Display, sodass sie sichtbar werden.
- Das Programm versucht, eine Verbindung zum Display an der I2C-Adresse
loop()– Die Endlosschleife:- Die Schleife beginnt damit, das Display erneut zu leeren (
display.clearDisplay()), um die alten Inhalte zu entfernen. - Anschließend wird der statische Text „Arduino läuft:“ und in der nächsten Zeile der aktuelle Wert der
counter-Variable geschrieben. - Mit
display.display();werden diese neuen Informationen wieder sichtbar gemacht. - Danach wird die
counter-Variable um eins erhöht (counter++) und das Programm wartet eine Sekunde (delay(1000)), bevor die Schleife von vorne beginnt.
- Die Schleife beginnt damit, das Display erneut zu leeren (
Das Ergebnis: Auf deinem OLED-Display siehst du einen Zähler, der jede Sekunde um eins hochzählt. Dies bestätigt, dass die Verbindung und der Code korrekt funktionieren.









