OLED-Displays mit SSD1309-Controller gibt es bei diversen Auktionshäusern für günstiges Geld. Für die Ansteuerung mit einem AVR XMEGA Mikrocontroller habe ich eine Bibliothek geschrieben, außerdem gibt es noch eine Zeichnung und eine EAGLE-Bibliothek.
OLED-Displays haben gegenüber LCDs den Vorteil des hohen Kontrastes und der nicht vorhandenen Blickwinkelabhängigkeit, dazu sind sie stromsparend. Damit eignen sie sich hervorragend für den Inneneinsatz bei Laborgeräten usw.
Im Internet finden sich unter dem Suchbegriff „OLED 12864 2,42″ viele Module mit eher dürftiger Beschreibung. Diese haben in der Regel einen SSD1309-Controller, 128×64 Pixel bei 2,42“ und können seriell per SPI oder I²C und teilweise auch parallel angesteuert werden. Die Logikpegel betragen 3,3 V, auch wenn die Module mit 5 V betrieben werden können (3,3 V Spannungsregler auf der Platine).
Bei der Softwarebibliothek habe ich mich auf SPI beschränkt, da die parallelen Schnittstellen mir zu viele Pins am Mikrocontroller belegen und I²C für Grafik-Displays auf Grund der geringen Geschwindigkeit nicht zu empfehlen ist. Allerdings lassen sich andere Schnittstellen zusätzlich implementieren, Makros sind vorbereitet.
Die Bibliothek steht unter der CC BY-NC 4.0 Lizenz und darf daher für nicht kommerzielle Projekte gerne verwendet und weiterentwickelt werden.
Anschluss
Hier die Pinbelegung meines Modules für den Anschluss per SPI. MOSI, SS und SCK sind die Anschlüsse einer SPI-Gruppe. Bei GPIO kann ein beliebiger Anschluss des gleichen Ports benutzt werden, 3,3 V und GND sind die Betriebsspannung und Masse.
- VCC – 3,3 V
- GND – GND
- D7 – GND
- GND – GND
- D6 – GND
- D5 – GND
- D4 – GND
- D3 – GND
- D2 – offen
- D1/DIN – MOSI
- D0/SCK – SCK
- E/RD – GND
- R/W – GND
- D/C – GPIO
- /RES – GPIO
- /CS – GPIO (SS)
Welche Anschlüsse am Mikrocontroller genau ihr nehmt, ist euch überlassen. Ihr müsst sie nur in der ssd1309.h korrekt eintragen. Das mitgelieferte Beispiel ist für ein Atmel XMEGA-A1Xplained mit dem Display an Port C.
Guten Tag
Gibt es ein Update zu dieser Library? Denn in dieser Version sind die Parallelmodi noch nicht implementiert.
Freundliche Grüsse