A 0.91" OLED megjelenítés szövegek, grafikák és szenzoradatok megjelenítése az Arduino-projektekben. Ez az útmutató végigvezeti Önt a huzalozás, kódolás, valamint szövegek és grafikák megjelenítése a(z) SSD1306-alapú OLED modul Arduino-val.
1. Amire szüksége lesz
✅ Arduino kártya (Uno, Mega, Nano stb.)
✅ 0.91" OLED Kijelző (SSD1306, I2C)
✅ Mérőzsinórok
✅ Arduino IDE telepítve
🔹 Megjegyzés: Ez az útmutató a következő témára fókuszál: I2C kommunikáció, amely kizárólag két vezeték (SDA és SCL), így ideális az egyszerűbb projektekhez.
2. A huzalozás 0.91" OLED az Arduino-hoz (I2C mód)
| OLED kijelző láb | Arduino Uno kivezetés | Arduino Nano Pin |
|---|---|---|
| VCC | 5V | 5V |
| GND | GND | GND |
| SDA | A4 (SDA) | A4 (SDA) |
| SCL | A5 (SCL) | A5 (SCL) |
🔹 Arduino Mega-hoz: Használat SDA (20-as tű) és SCL (21-es tű).
3. A szükséges könyvtárak telepítése
A kódolás megkezdése előtt telepítse a Adafruit SSD1306 és Adafruit GFX könyvtárak:
- Megnyitás Arduino IDE.
- Ugrás ide: Vázlat → Könyvtár hozzáadása → Könyvtárak kezelése.
- Keresés: Adafruit SSD1306
- Keresés: Adafruit GFX
4. Alapvető kód szöveg megjelenítéséhez OLED kijelzőn
Ez a példa inicializálja az OLED-et és megjeleníti a "Szia, Arduino!".
#include
#include
#include
// OLED képernyőméret meghatározása
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
// OLED kijelző inicializálása (I2C cím: 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
// OLED kijelző indítása
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allokáció sikertelen");
for (;;);
}
display.clearDisplay(); // Puffer ürítése
display.setTextSize(1); // Szövegméret
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 10);
display.println("Hello, Arduino!");
display.display(); // Szöveg megjelenítése a képernyőn
}
void loop() {
// Nincs itt semmi (a szöveg statikus)
}
🔹 Mit csinál ez a kód:
✔ Elindítja a SSD1306 kijelző.
✔ Nyomatok "Szia, Arduino!" a képernyőn.
✔ Használat I2C-cím: 0x3C 0x3D).
5. Grafikus elemek megjelenítése (vonalak, körök, képek)
To draw formák Adafruit GFX függvények.
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
// Téglalap rajzolása
display.drawRect(10, 10, 50, 20, SSD1306_WHITE);
// Kitöltött kör rajzolása
display.fillCircle(90, 16, 10, SSD1306_WHITE);
display.display();
}
void loop() {}
🔹 Egyéb rajzolási funkciók:
✔ display.drawLine(x1, y1, x2, y2, color); → Vonalat húz
✔ display.drawCircle(x, y, radius, color); → Kört rajzol
✔ display.drawRect(x, y, width, height, color); → Téglalap rajzolása
6. Futószöveg példa
Ez a példa görgeti a szöveget visszintesen az OLED-képernyőn keresztül.
c
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println("Gördülő szöveg...");
display.display();
// Gördülés indítása
display.startscrollleft(0x00, 0x0F);
}
void loop() {}
🔹 Görgetési funkciók:
✔ display.startscrollleft(start, stop); → Szöveg görgetése bal
✔ display.startscrollright(start, stop); → Szöveg görgetése jobb
✔ 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 huzalozás (SDA és SCL megfelelően csatlakoztatva).
✅ Biztosítsa a Az OLED I2C-címe 0x3C (vagy próbálja meg a 0x3D-t).
✅ Használjon egy I2C szkenner az eszköz észleléséhez:
#include
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("Szkennelés...");
for (byte address = 8; address < 120; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("I2C eszköz található a következő címen: 0x");
Serial.println(address, HEX);
}
}
}
void loop() {}
Probléma: A szöveg túl kicsi vagy túl nagy.
✅ Módosítás display.setTextSize(1); (növelje a nagyobb szövegmérethez).
8. Gyakorlati alkalmazások
✔ Szenzoradatok megjelenítése DHT11, BMP280, stb.
✔ Clock Display DS3231 RTC modul egy digitális óra készítéséhez.
✔ Menürendszerek
✔ Akkumulátorfeszültség-kijelző
9. Összegzés
Egy 0.91" OLED Arduino-val nagyszerű módja annak, hogy vizuális megjelenítés a projektjeihez. Akár meg szeretné jeleníteni a szöveg, grafika vagy szenzoradatok nagy kontraszt és alacsony energiafogyasztás.




1 megjegyzés
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