Leírás
Amikor egy készülékházon csak néhány négyzetcentiméter jut a visszajelzésre, mégis több információt szeretnél látni egy LED állapotánál, jól jön egy apró grafikus kijelző. A 0.96″ OLED (128×64, I2C, kék, SSD1306) 128×64 képpontos felületén számérték, rövid felirat, piktogram, állapotjelzés vagy egyszerű grafika is elhelyezhető.
A kijelzőt SSD1306 vezérlő kezeli, a mikrovezérlővel pedig I2C buszon kommunikál. A panel négy csatlakozást használ: tápellátás, GND, SCL órajel és SDA adat. Ez különösen olyan építéseknél kényelmes, ahol több érzékelő és kezelőszerv mellett kevés szabad mikrovezérlő-láb marad.
A modul tápfeszültsége 3.3V vagy 5V is lehet, megadott maximális áramfelvétele 8 mA. Az adatvonalak 3.3V vagy 5V-os jelet fogadnak (5V toleráns bemenetei vannak).
Programozáskor az SSD1306 felirat a legfontosabb kapaszkodó. Ehhez a modulhoz SSD1306-kompatibilis meghajtást válassz.
Amit elsőként érdemes tudni róla
A 0.96″ OLED (128×64, I2C, kék, SSD1306) kis kijelzőfelületre sűríti a 128×64 képpontot. Emiatt olyan készülékekben érzi jól magát, ahol néhány lényeges adatot kell folyamatosan szem előtt tartani: például egy szenzor aktuális mérését, egy vezérlő állapotát, egy számlálót vagy egy rövid menüt.
OLED technológiánál maguk a képpontok világítanak. A modul kék képpontokat használ fekete alapon, külön háttérvilágítás nélkül. A felület grafikus, így a karakterek alakját és méretét is a program határozza meg.
A 0,96″-os méret olvashatósági korlátot is jelent. Nagyméretű számok vagy néhány rövid sor jól elhelyezhető rajta, sűrű menürendszernél és hosszú szövegeknél viszont hamar elfogy a hely.
Mi történik a háttérben?
A program a megjelenítendő tartalmat az SSD1306 kijelzővezérlőnek küldi. I2C üzemben az SCL vonal adja az órajelet, az SDA vonalon pedig a parancsok és képadatok haladnak. A kijelzővezérlő saját grafikus memóriával dolgozik, ezért a képpontok állapota programból szervezhető.
A 128×64 felbontás teljes, egybites képkockája 1024 bájt adatot jelent. Ez egy Arduino UNO 2 kB SRAM-jából már számottevő rész, ha olyan programkönyvtárat választasz, amely teljes képernyőpuffert tart a RAM-ban. Memóriaszűk mikrokontrollernél ezért a könyvtár pufferkezelése ugyanúgy választási szempont, mint maga a kijelző.
Az U8g2 többféle pufferelési móddal kezeli az SSD1306 128×64 I2C kijelzőket, az Adafruit SSD1306 könyvtár pedig az Adafruit GFX grafikus függvényeivel használható. Ettől a hardver nem változik, viszont más memóriakezelést és programozási felületet kapsz.
Hol használható jól?
- Környezeti mérőegységben a pillanatnyi érték és a mértékegység együtt jeleníthető meg.
- Akkumulátoros vagy tápegységes építésben feszültség-, állapot- és üzemmódjelzés készíthető vele.
- ESP8266 alapú hálózati eszköznél rövid státusz, kapcsolódási állapot vagy mérési eredmény írható ki.
- Forgó enkóderrel vagy néhány gombbal együtt kis menürendszer kijelzőjeként használható.
- Számláló, időzítő vagy óra előlapján nagy számjegyek és kisebb kiegészítő információk férnek el egyszerre.
- Szenzorcsomópontnál a soros monitor helyett helyi diagnosztikai információ jeleníthető meg.
- Oktatási összeállításban az I2C kommunikáció, a grafikus memória és a képpontalapú rajzolás is szemléltethető vele.
Mire kell figyelni beüzemeléskor?
| Mire figyelj? | Mit okoz? |
|---|---|
| Tápot kap a modul? | A kijelző 3.3V vagy 5V tápfeszültségről is üzemel. |
| Az SDA és SCL a vezérlő megfelelő I2C kivezetésére került? | A kijelző csak helyes adat- és órajelkapcsolattal érhető el a buszon. |
| Közös a kijelző és a mikrovezérlő GND pontja? | Közös referencia szükséges a digitális jelek megfelelő értelmezéséhez. |
| SSD1306 128×64 kijelzőt választottál a programban? | A megfelelő inicializálás és memóriakiosztás ezen múlik. |
| Teljes képkockapuffert használ a könyvtár? | 128×64 képpont egybites tárolásához 1024 bájt RAM szükséges. |
| Több I2C periféria osztozik ugyanazon a buszon? | Az eszközcímeknek ütközés nélkül kell együtt működniük. |
Amik később sok bosszúságtól véd meg
A 0.96″ OLED (128×64, I2C, kék, SSD1306) kiválasztásánál először a fizikai kijelzőméretet nézd. A kb. 22×11 mm-es kijelzőterület jól használható tömör műszerkijelzéshez, ugyanakkor a betűméretet és a sorok számát ehhez kell igazítani.
A második döntési pont az interfész. Ez a változat I2C, négy kivezetéssel. Ha egy meglévő kapcsolás SPI OLED-re készült, a két modult nem lehet pusztán ugyanarra a csatlakozóra áttenni.
A vezérlő típusa szintén legyen egyértelmű: SSD1306. A hasonló kinézetű SH1106-os OLED más vezérlő, ezért a programkönyvtár konstruktorát és inicializálását a konkrét hardverhez válaszd.
A panel pontos I2C címe 0x3C. Az SSD1306 két címváltozatot képes kezelni, de a konkrét panel fixen bekötött.
Vannak helyzetek, ahol mást érdemes választani
- Hosszabb szövegekhez és több soros menükhöz nagyobb fizikai kijelző kényelmesebb olvashatóságot ad.
- Színes ikonokhoz vagy több színnel elkülönített grafikonokhoz színes TFT kijelző szükséges.
- Érintéses kezelőfelülethez érintőpanellel szerelt kijelző vagy HMI modul illik a feladathoz.
- Nagyon RAM-szűk mikrokontrollernél olyan könyvtárat vagy kijelzési módot válassz, amely nem tart teljes 1024 bájtos képkockapuffert a memóriában.
- Olyan összeállításnál, ahol az I2C címütközés nem kezelhető, más című periféria, buszkapcsoló vagy más interfészű kijelző szükséges.
Egy apró tipp a gyakorlatból
Egy új kijelző beüzemelésénél először egy rövid, ismert SSD1306 mintaprogrammal érdemes ellenőrizni a kommunikációt, és csak ezután beépíteni a kijelzőkezelést a teljes alkalmazásba. Így a bekötési, busz- és programkönyvtár-hibák különválaszthatók a projekt többi részétől.
Arduino UNO környezetben a RAM-mal is számolj. Az 1024 bájtos teljes képpuffer önmagában a rendelkezésre álló SRAM jelentős részét elfoglalja, ezért nagy tömbök, hosszú szövegkonstansok és több memóriát használó könyvtár mellett a kijelzőkezelés módja már a program felépítésére is hat.
Műszaki jellemzők
| Jellemző | Érték |
|---|---|
| Kijelzőtechnológia: | OLED |
| Képátló: | 0,96″ |
| Felbontás: | 128×64 képpont |
| Kijelzővezérlő: | SSD1306 |
| Kommunikáció: | I2C / IIC |
| Csatlakozások száma: | 4 |
| I2C adatvezeték: | SDA |
| I2C órajelvezeték: | SCL |
| Tápfeszültség: | 3.3V / 5V |
| Adatvonal: | 5V toleráns I/O |
| Maximális áramfelvétel: | max. 8 mA |
| Képpont színe: | kék |
| Háttér: | fekete |
| Látószög: | 160° |
| Megadott kijelzőterület: | ~22×11 mm |
| Működési hőmérséklet: | -30…+80 °C |
| Teljes 1 bites képpuffer mérete: | 1024 bájt |
| Konkrét I2C cím: | 0x3C |
| Arduino UNO/Mega/Leonardo támogatás: | igen |
| Arduino Due támogatás: | igen |
| ESP8266 támogatás: | igen |
| ESP32 termékspecifikus támogatás: | igen |
| Raspberry Pi termékspecifikus támogatás: | igen |
Dokumentáció
- SSD1306 vezérlő műszaki adatlap TavIR WebShop
- Adafruit SSD1306 Arduino programkönyvtár GitHub
- SSD1306 128×64 I2C U8g2 beállítások GitHub
- SSD1306 adatlap
- SSD1306 mintaalkalmazások
Csomag
- 1 db 0.96″ OLED (128×64, I2C, kék, SSD1306) kijelzőmodul
- 1 db 4pin tüskesor



















Értékelések
Még nincsenek értékelések.