En 0,91 "OLED -display är en liten högkontrastskärm perfekt för Visa text, grafik och sensordata i Arduino -projekt. Den här guiden kommer att leda dig igenom Ledningar, kodning och visar text och grafik med hjälp av SSD1306-baserad OLED-modul med Arduino.
1. Vad du behöver
✅ Arduinstyrelse (Uno, Mega, Nano, etc.)
✅ 0,91 "OLED -display (SSD1306, I2C)
✅ Bulttrådar
✅ Arduino ide installerad
🔹 Notera: Denna handledning fokuserar på I2C -kommunikation, som bara använder Två ledningar (SDA & SCL), vilket gör det idealiskt för enkla projekt.
2. Koppling av 0,91 "OLED till Arduino (I2C -läge)
OLED -skärmstift | Arduino uno stift | Arduino nano -stift |
---|---|---|
Vcc | 5V | 5V |
Gard | Gard | Gard |
SDA | A4 (SDA) | A4 (SDA) |
SCL | A5 (SCL) | A5 (SCL) |
🔹 För Arduino Mega: Användning SDA (stift 20) och SCL (stift 21).
3. Installera obligatoriska bibliotek
Installera, installera Adafruit SSD1306 och Adafruit GFX Bibliotek:
- Öppna Arduino IDE.
- Gå till Skiss → Inkludera bibliotek → Hantera bibliotek.
- Leta efter Adafruit SSD1306 och installera det.
- Leta efter Adafruit GFX och installera det.
4. Grundläggande kod för att visa text på OLED
Detta exempel initialiserar OLED och skärmar "Hej, 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)
}
🔹 Vad den här koden gör:
✔ Initialiserar SSD1306 Display.
✔ Grafik "Hej, Arduino!" på skärmen.
✔ Användning I2c adress 0x3c (Vissa moduler kan använda 0x3d).
5. Visar grafik (linjer, cirklar, bilder)
Att rita former, ändra koden med Adafruit GFX -funktioner.
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() {}
🔹 Andra ritningsfunktioner:
✔ display.drawLine(x1, y1, x2, y2, color);
→ Ritar en linje
✔ display.drawCircle(x, y, radius, color);
→ Ritar en cirkel
✔ display.drawRect(x, y, width, height, color);
→ Ritar en rektangel
6. Rullande textexempel
Detta exempel rullar text vågrätt över OLED -skärmen.
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() {}
🔹 Rullningsfunktioner:
✔ display.startscrollleft(start, stop);
→ Bläddra text vänster
✔ display.startscrollright(start, stop);
→ Bläddra text rätt
✔ display.stopscroll();
→ Slutar rulla
7. Felsökningstips
Problem: Visa visar ingenting.
✅ Kontrollera ledningar (SDA & SCL korrekt anslutna).
✅ Se till OLED I2C -adress är 0x3c (eller försök 0x3d).
✅ Använda en I2C För att upptäcka enheten:
#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: Texten är för liten eller för stor.
✅ Justera display.setTextSize(1);
(öka för större text).
8. Praktiska applikationer
✔ Visar sensordata -visa realtidsavläsningar från DHT11, BMP280, etc.
✔ Klockvisning - Kombinera med DS3231 RTC -modul att göra en digital klocka.
✔ Menysystem - Använd knappar för att navigera genom menyer.
✔ Batterispänningsindikator - Övervaka effektnivåer i bärbara projekt.
9. Slutsats
Med en 0,91 "OLED med Arduino är ett bra sätt att lägga till visuell utgång till dina projekt. Oavsett om du vill visa text, grafik eller sensordata, den här lilla skärmen erbjuder Hög kontrast och låg effektförbrukning.