FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

Hoe een OLED -display van 0,91 "te gebruiken met Arduino

How to Use a 0.91" OLED Display with Arduino

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:

  1. Open Arduino IDE.
  2. Ga naar Sketch → Bibliotheek opnemen → Bibliotheken beheren.
  3. Zoeken naar Adafruit SSD1306 installeer het.
  4. 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.

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.

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

FERNANDO SORIANO LOPEZ,

Laat een reactie achter