So verwenden Sie ein 0,91 -Zoll -OLED -Display mit Arduino

How to Use a 0.91" OLED Display with Arduino

0,91 "OLED -Anzeige ist ein kleiner, kontrastischer Bildschirm für perfekt für Anzeigen von Text-, Grafik- und Sensordaten In Arduino -Projekten. Dieser Leitfaden führt Sie durch Verkabelung, Codierung und Anzeige von Text und Grafiken Verwenden der SSD1306-basiertes OLED-Modul mit Arduino.


1. Was Sie brauchen

Arduino Board (Uno, Mega, Nano usw.)
0,91 "OLED -Anzeige (SSD1306, I2C)
Jumperdrähte
Arduino ide installiert

🔹 Notiz: Dieses Tutorial konzentriert sich auf I2C -Kommunikation, was nur verwendet Zwei Drähte (SDA & SCL)ideal für einfache Projekte.


2. Verdrahtung der 0,91 "OLED mit Arduino (I2C -Modus)

OLED -Anzeignadel Arduino Uno Pin Arduino Nano Pin
VCC 5v 5v
GND GND GND
SDA A4 (SDA) A4 (SDA)
Scl A5 (SCL) A5 (SCL)

🔹 Für Arduino Mega: Verwenden SDA (Pin 20) und SCL (Pin 21).


3. Die erforderlichen Bibliotheken installieren

Installieren Sie vor dem Codieren die Adafruit SSD1306 Und Adafruit GFX Bibliotheken:

  1. Offen Arduino ide.
  2. Gehen zu Skizze → Bibliothek einschließen → Bibliotheken verwalten.
  3. Suchen nach Adafruit SSD1306 und installieren Sie es.
  4. Suchen nach Adafruit GFX und installieren Sie es.

4. Basiccode zum Anzeigen von Text auf OLED

Dieses Beispiel initialisiert die OLED und Anzeigen "Hallo Arduino!".

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// Define OLED screen size
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32

// Initialize OLED display (I2C address 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
    Serial.begin(115200);

    // Start OLED display
    if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
        Serial.println("SSD1306 allocation failed");
        for (;;);
    }

    display.clearDisplay();  // Clear buffer
    display.setTextSize(1);  // Text size
    display.setTextColor(SSD1306_WHITE);
    display.setCursor(10, 10);
    display.println("Hello, Arduino!");
    display.display(); // Show text on screen
}

void loop() {
    // Nothing here (text is static)
}

🔹 Was dieser Code tut:
✔ Initialisiert die SSD1306 Display.
✔ Drucke "Hallo Arduino!" auf dem Bildschirm.
✔ Verwendung I2C -Adresse 0x3c (Einige Module können verwendet werden 0x3d).


5. Grafik anzeigen (Zeilen, Kreise, Bilder)

Zeichnen FormenÄndern Sie den Code mithilfe Adafruit GFX Funktionen.

void setup() {
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    display.clearDisplay();

    // Draw a rectangle
    display.drawRect(10, 10, 50, 20, SSD1306_WHITE);
    
    // Draw a filled circle
    display.fillCircle(90, 16, 10, SSD1306_WHITE);

    display.display();
}

void loop() {}

🔹 Andere Zeichenfunktionen:
display.drawLine(x1, y1, x2, y2, color); → Zeichnet eine Linie
display.drawCircle(x, y, radius, color); → Zeichnet einen Kreis
display.drawRect(x, y, width, height, color); → zeichnet ein Rechteck


6. SPROLT -TEXT -Beispiel

In diesem Beispiel werden Text geprüft horizontal über den OLED -Bildschirm.

void setup() {
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    display.clearDisplay();
    
    display.setTextSize(1);
    display.setTextColor(SSD1306_WHITE);
    display.setCursor(0, 10);
    display.println("Scrolling Text...");
    display.display();
    
    // Start scrolling
    display.startscrollleft(0x00, 0x0F); 
}

void loop() {}

🔹 Scrollenfunktionen:
display.startscrollleft(start, stop); → SCROLL -Text links
display.startscrollright(start, stop); → SCROLL -Text Rechts
display.stopscroll(); → stoppt das Scrollen


7. Tipps zur Fehlerbehebung

Problem: Zeigen Sie nichts an.
✅ Überprüfen Verkabelung (SDA & SCL korrekt verbunden).
✅ Stellen Sie sicher, dass die OLED I2C -Adresse lautet 0x3c (oder versuche 0x3d).
✅ Verwenden Sie ein I2C -Scanner Um das Gerät zu erkennen:

#include <Wire.h>
void setup() {
    Wire.begin();
    Serial.begin(115200);
    Serial.println("Scanning...");
    
    for (byte address = 8; address < 120; address++) {
        Wire.beginTransmission(address);
        if (Wire.endTransmission() == 0) {
            Serial.print("Found I2C device at 0x");
            Serial.println(address, HEX);
        }
    }
}
void loop() {}

Problem: Text ist zu klein oder zu groß.
✅ Anpassen display.setTextSize(1); (Erhöhen Sie für größeren Text).


8. Praktische Anwendungen

Anzeigen von Sensordaten -Echtzeit-Lesungen von zeigen DHT11, BMP280 usw.
Taktanzeige - kombinieren mit DS3231 RTC -Modul eine digitale Uhr machen.
Menüsysteme - Verwenden Sie Schaltflächen, um durch Menüs zu navigieren.
Batteriespannungsindikator - Überwachen Sie die Stromniveaus in tragbaren Projekten.


9. Schlussfolgerung

Mit a 0,91 "OLED mit Arduino ist eine großartige Möglichkeit, hinzuzufügen visuelle Ausgabe zu Ihren Projekten. Ob Sie anzeigen möchten Text-, Grafik- oder SensordatenDieser kleine Bildschirm bietet hoher Kontrast und geringem Stromverbrauch.

Hinterlasse einen Kommentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.