A 0.91" OLED weergave weergave van tekst, afbeeldingen en sensorgegevens bedrading, programmering en het weergeven van tekst en afbeeldingen met behulp van de Oled-module op basis van de SSD1306 met Arduino.
1. Wat u nodig heeft
✅ Arduino-board
✅ 0.91" OLED Display (SSD1306, I2C)
✅ Jumpdraadjes
✅ Arduino IDE geïnstalleerd
Opmerking: Deze handleiding richt zich op I2C communication two wires (SDA & SCL), waardoor het ideaal is voor eenvoudige projecten.
2. Het bedraden van de 0.91" OLED naar Arduino (I2C-modus)
| OLED-display-pin | Arduino Uno Pin | Arduino Nano Pin |
|---|---|---|
| VCC | 5V | 5V |
| GND | GND | GND |
| SDA | A4 (SDA) | A4 (SDA) |
| SCL | A5 (SCL) | A5 (SCL) |
Voor Arduino Mega: Gebruik SDA (Pin 20) en SCL (Pin 21).
3. De vereiste bibliotheken installeren
Installeer voor het coderen de Adafruit SSD1306 en Adafruit GFX bibliotheken:
- Open Arduino IDE.
- Ga naar Sketch → Bibliotheek opnemen → Bibliotheken beheren.
- Zoeken naar Adafruit SSD1306 installeer het.
- Zoeken naar Adafruit GFX installeer het.
4. Basiscode om tekst op het OLED-scherm weer te geven
Dit voorbeeld initialiseert de OLED en toont "Hello, Arduino!".
c
#include
#include
#include
// Definieer OLED-schermgrootte
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
// Initialiseer OLED-display (I2C-adres 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-toewijzing mislukt");
for (;;);
}
display.clearDisplay(); // Buffer leegmaken
display.setTextSize(1); // Tekstgrootte
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 10);
display.println("Hallo, Arduino!");
display.display(); // Toon tekst op scherm
}
void loop() {
// Niets hier (tekst is statisch)
}
Wat deze code doet:
SSD1306-display.
✔ Prints "Hello, Arduino!" op het scherm.
✔ Te gebruiken voor I2C-adres 0x3C 0x3D).
5. Grafische elementen weergeven (lijnen, cirkels, afbeeldingen)
vormen, pas de code aan met behulp van Adafruit GFX-functies.
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
// Teken een rechthoek
display.drawRect(10, 10, 50, 20, SSD1306_WHITE);
// Teken een gevulde cirkel
display.fillCircle(90, 16, 10, SSD1306_WHITE);
display.display();
}
void loop() {}
Andere tekenfuncties:
display.drawLine(x1, y1, x2, y2, color);
javascript
display.drawCircle(x, y, radius, color);
javascript
display.drawRect(x, y, width, height, color);
6. Voorbeeld van scrollende tekst
Dit voorbeeld laat tekst scrollen horizontally over het OLED-scherm.
cpp
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println("Scrollende tekst...");
display.display();
// Start met scrollen
display.startscrollleft(0x00, 0x0F);
}
void loop() {}
Scrollfuncties:
javascript
display.startscrollleft(start, stop); links
javascript
display.startscrollright(start, stop); rechts
javascript
display.stopscroll();
7. Tips voor probleemoplossing
Probleem: Display toont niets.
✅ Controleren bedrading (SDA & SCL correct aangesloten).
✅ Zorg voor de OLED I2C-adres is 0x3C (of probeer 0x3D).
✅ Gebruik een I2C-scanner om het apparaat te detecteren:
c
#include
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("Scannen...");
for (byte address = 8; address < 120; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("I2C-apparaat gevonden op 0x");
Serial.println(address, HEX);
}
}
}
void loop() {}
Probleem: Tekst is te klein of te groot.
✅ Aanpassen display.setTextSize(1);
8. Praktische toepassingen Bureau
Displaying Sensor Data DHT11, BMP280, enz.
Klokweergave DS3231 RTC-module om een digitale klok te maken.
Menu Systems
Batterijspanningsindicator
9. Conclusie
Met behulp van een 0.91" OLED met Arduino visuele output Bureau tekst, afbeeldingen of sensorgegevens hoog contrast en laag stroomverbruik.




1 reactie
Sres. buenas noches, gracias a su amables enseñanzas al menos yo he podido programar mis arduinos para escribir en pantallas OLED.
Ahora se me presenta otro reto, programar un arduino nano V3.0 con pantalla OLED 128 × 32 integrada, seria que nos ayudara si es que tienen el IDE para hacerlo?
Saludos afectuosos desde México.
Atte Fernando Soriano López