Jak używać wyświetlacza OLED 0,91 cala z Arduino

How to Use a 0.91" OLED Display with Arduino

0,91 "wyświetlacz OLED to mały ekran o wysokiej kontroli idealny Wyświetlanie danych tekstowych, graficznych i czujników W projektach Arduino. Ten przewodnik przechodzi cię przez okablowanie, kodowanie i wyświetlanie tekstu i grafiki za pomocą Moduł OLED oparty na SSD1306 z Arduino.


1. Czego potrzebujesz

Board Arduino (Uno, Mega, Nano itp.)
0,91 "wyświetlacz OLED (SSD1306, I2C)
Przewody zworki
Zainstalowane Arduino IDE

🔹 Notatka: Ten samouczek się koncentruje Komunikacja I2C, który używa tylko Dwa przewody (SDA i SCL), czyniąc go idealnym do prostych projektów.


2. Okablowanie 0,91 "OLED do Arduino (tryb I2C)

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

🔹 Dla Arduino Mega: Używać SDA (PIN 20) i SCL (PIN 21).


3. Instalowanie wymaganych bibliotek

Przed kodowaniem zainstaluj Adafruit SSD1306 I Adafruit GFX Biblioteki:

  1. Otwarte Arduino Ide.
  2. Idź do Szkic → Dołącz bibliotekę → Zarządzaj bibliotekami.
  3. Szukaj Adafruit SSD1306 i zainstaluj to.
  4. Szukaj Adafruit GFX i zainstaluj to.

4. Podstawowy kod do wyświetlania tekstu na OLED

Ten przykład inicjuje OLED i wyświetla „Witaj, 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)
}

🔹 Co robi ten kod:
✔ Inicjuje Wyświetlacz SSD1306.
✔ Wydruki „Witaj, Arduino!” na ekranie.
✔ Zastosowania Adres I2C 0x3c (Mogą użyć niektórych modułów 0x3d).


5. Wyświetlanie grafiki (linie, koła, obrazy)

Rysować kształty, zmodyfikuj kod za pomocą Funkcje GFX Adafruit.

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() {}

🔹 Inne funkcje rysunku:
display.drawLine(x1, y1, x2, y2, color); → rysuje linię
display.drawCircle(x, y, radius, color); → rysuje okrąg
display.drawRect(x, y, width, height, color); → rysuje prostokąt


6. Przykład przewijania tekstu

Ten przykład przewija tekst poziomo na ekranie OLED.

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() {}

🔹 Funkcje przewijania:
display.startscrollleft(start, stop); → Przewiń tekst lewy
display.startscrollright(start, stop); → Przewiń tekst Prawidłowy
display.stopscroll(); → Przestaje przewijanie


7. Wskazówki dotyczące rozwiązywania problemów

Problem: Wyświetlacz nic nie pokazuje.
✅ Sprawdzać okablowanie (poprawnie podłączone SDA i SCL).
✅ Upewnij się Adres OLED I2C to 0x3c (lub spróbuj 0x3d).
✅ Użyj Skaner I2C Aby wykryć urządzenie:

#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: Tekst jest zbyt mały lub zbyt duży.
✅ Regulować display.setTextSize(1); (Wzrost dla większego tekstu).


8. Praktyczne zastosowania

Wyświetlanie danych czujników -Pokaż odczyty w czasie rzeczywistym z DHT11, BMP280 itd.
Wyświetlacz zegara - Połącz z Moduł RTC DS3231 zrobić zegar cyfrowy.
Systemy menu - Użyj przycisków do nawigacji przez menu.
Wskaźnik napięcia akumulatora - Monitoruj poziomy mocy w przenośnych projektach.


9. Wniosek

Za pomocą 0,91 "OLED z Arduino to świetny sposób na dodanie Wyjście wizualne do twoich projektów. Czy chcesz wyświetlić Dane tekstowe, graficzne lub czujniki, ten mały ekran oferuje Wysoki kontrast i niskie zużycie energii.

Zostaw komentarz

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.