Hogyan kell használni egy 0,91 "-es OLED kijelzőt Arduino -val

How to Use a 0.91" OLED Display with Arduino

0,91 "OLED kijelző egy kicsi, nagy kontrasztú képernyő, amely tökéletes Szöveg, grafika és érzékelőadatok megjelenítése Arduino projektekben. Ez az útmutató végigvezeti Huzalozás, kódolás és a szöveg és a grafika megjelenítése a SSD1306 alapú OLED modul Arduino -val.


1, amire szüksége van

Arduino Board (Uno, Mega, Nano stb.)
0,91 "OLED kijelző (SSD1306, I2C)
Jumper vezetékek
Arduino IDE telepítve

🔹 Jegyzet: Ez az oktatóanyag arra összpontosít I2C kommunikáció, ami csak használja Két vezeték (SDA és SCL), hogy ideális legyen az egyszerű projektekhez.


2.

OLED kijelzőcsap Arduino Uno Pin Arduino Nano Pin
VCC 5 V -os 5 V -os
GND GND GND
SDA A4 (SDA) A4 (SDA)
SCL A5 (SCL) A5 (SCL)

🔹 Arduino Mega számára: Használat SDA (20. érintkező) és SCL (21. érintkező).


3. A szükséges könyvtárak telepítése

A kódolás előtt telepítse a Adafrut SSD1306 és Adafruit GFX Könyvtárak:

  1. Nyitott Arduino ide.
  2. Elindul Vázlat → Vegye fel a könyvtárat → Könyvtárak kezelése.
  3. Keres Adafrut SSD1306 és telepítse.
  4. Keres Adafruit GFX és telepítse.

4. Alapvető kód a szöveg megjelenítéséhez az OLED -en

Ez a példa inicializálja az OLED -t és a megjelenítéseket "Helló, 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)
}

🔹 Mit csinál ez a kód:
✔ Inicializálja a SSD1306 kijelző.
✔ Nyomatok "Helló, Arduino!" A képernyőn.
✔ Felhasználás I2c cím 0x3c (Néhány modul használhat 0x3d).


5. A grafika megjelenítése (vonalak, körök, képek)

Rajzolni alakzatok, módosítsa a kódot használva Adafrut GFX funkciók.

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

🔹 Egyéb rajzfunkciók:
display.drawLine(x1, y1, x2, y2, color); → Húzza a sort
display.drawCircle(x, y, radius, color); → Rajzol egy kört
display.drawRect(x, y, width, height, color); → Rajzol egy téglalapot


6. görgető szöveges példa

Ez a példa görgeti a szöveget vízszintesen az OLED képernyőn.

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

🔹 Görgetési funkciók:
display.startscrollleft(start, stop); → görgetni a szöveget bal oldali
display.startscrollright(start, stop); → görgetni a szöveget jobbra
display.stopscroll(); → Megállítja a görgetést


7. Hibaelhárítási tippek

Probléma: A kijelző nem mutat semmit.
✅ Ellenőrzés Vezetékek (SDA és SCL helyesen csatlakoztatva).
✅ Gondoskodjon a Az OLED I2C cím 0x3C (vagy próbálkozzon 0x3D).
✅ Használjon egy I2C szkenner Az eszköz észlelése:

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

Probléma: A szöveg túl kicsi vagy túl nagy.
✅ Beállít display.setTextSize(1); (Növelje a nagyobb szöveget).


8. Gyakorlati alkalmazások

Az érzékelő adatok megjelenítése -Mutassa meg a valós idejű olvasmányokat DHT11, BMP280 stb.
Órajelző - Kombináljon DS3231 RTC modul hogy digitális órát készítsen.
Menürendszerek - Használjon gombokat a menükben való navigáláshoz.
Akkumulátor feszültségjelző - Figyelemmel kíséri a hordozható projektek teljesítményszintjét.


9. Következtetés

A 0,91 "OLED Arduino -val nagyszerű módja annak, hogy hozzáadhassák vizuális output a projektjeihez. Akár megjeleníteni akarja -e szöveg, grafika vagy érzékelő adatok, ez a kis képernyő kínál Magas kontraszt és alacsony energiafogyasztás.

Hagyj egy megjegyzést

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.