A 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:
- Offen Arduino ide.
- Gehen zu Skizze → Bibliothek einschließen → Bibliotheken verwalten.
- Suchen nach Adafruit SSD1306 und installieren Sie es.
- 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.