A 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:
- Nyitott Arduino ide.
- Elindul Vázlat → Vegye fel a könyvtárat → Könyvtárak kezelése.
- Keres Adafrut SSD1306 és telepítse.
- 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.