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

Artikelnummer: 200113 Kategorie: Schlagwörter: , , , ,

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.

  1. Öffne die Arduino IDE.
  2. Gehe zu Werkzeuge -> Bibliotheken verwalten....
  3. Suche nach „Adafruit GFX Library“ und klicke auf „Installieren“.
  4. Suche nach „Adafruit SSD1306“ und klicke ebenfalls auf „Installieren“.

Verkabelung: Arduino Uno ➔ OLED Modul

Die Ansteuerung über I2C benötigt nur vier Kabel:

  • OLED GNDArduino GND
  • OLED VCCArduino 5V
  • OLED SCK/SCLArduino Pin A5 (SCL)
  • OLED SDAArduino 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

  1. Einbinden der Bibliotheken: Zuerst werden die drei notwendigen Bibliotheken geladen: Wire.h für die I2C-Kommunikation und die beiden Adafruit-Bibliotheken für die Grafikfunktionen und die Display-Ansteuerung.
  2. Display definieren: Es wird ein „Software-Objekt“ namens display erstellt, das genau zu unserem 128×32 Pixel I2C-Display passt.
  3. setup() – Die Initialisierung:
    • Das Programm versucht, eine Verbindung zum Display an der I2C-Adresse 0x3C herzustellen. 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.
  4. 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.

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.