Das SSD1306 ist ein kostengünstiges, kleines Display in zwei Versionen: Eine mit 128 x 64 OLEDs und somit 128 x 64 Pixeln und eine mit 128 x 32 OLEDs / Pixeln. Achtung: In Onlineshops werden häufig 64 Pixel Höhe angegeben, obwohl nur 32 Pixel Höhe vorhanden sind! Die Bildschirmdiagonale beträgt 0,96", also ca. 2,44cm. Die OLEDs haben in der Regel eine weiße Farbe, es gibt aber auch Versionen mit einer integrierten Farbfolie, sodass blaue und gelbe Farbtöne möglich sind (aber immer nur ein Farbton pro LED). Es verfügt über vier Pins, von denen VCC und GND wie üblich die Stromversorgung sicherstellen, während die Datenübertragung über den I2C-Datenbus realisiert wird. Dazu wird der SCL-Pin mit A5 und der SDA-Pin mit A4 verbunden (siehe Schaltplan / Roboterkonfiguration).
Die Adresse, unter der das Display über den I2C-Datenbus erreichbar ist, ist in der Regel 0x3D
(Standard bei 128 x 64 Pixeln) oder 0x3C
(Standard bei 128 x 32 Pixeln). Bei manchen Displays kann man die Adresse auch auf der Rückseite ablesen und ggf. abändern, indem man eine Lötstelle überbrückt.
min. | max. | |
---|---|---|
Spalte | 0 | 122 |
Zeile | 0 | 56 bzw. 24 |
Hinweis zur maximalen Zeile:
56px bei 64 px Höhe und 24px bei 32px Höhe.
In vielen Anwendungen soll auf dem Display ein Messwert o. ä. angezeigt werden, der sich mit der Zeit ändern kann. Diese Anzeige soll aber schön formatiert sein.
Erstelle ein Programm, das alle drei Sekunden eine Zufallszahl z
zwischen 0 und 200 erzeugt und auf dem Display folgende Anzeige ausgibt:
Messwert: z E
Hinweise:
E
soll für eine beliebige Einheit stehen.z
gelöscht wird (Lösche OLED SSD1306 I²C
).z
soll immer rechtsbündig erfolgen, sodass zwischen den Einern von z
und der Einheit genau ein Leerzeichen steht.I2C steht für Inter-Intergrated-Circuit. Dies ist ein sogenannter Datenbus, also ein System zur Übertragung von Daten zwischen mehreren Teilnehmern. Die Datenübertragung funktioniert über ein getaktetes An- und Ausstellen der Datenleitung, um die Daten in Binärform (1 und 0) zu übertragen. Neben der Spannungsversorgung (GND und VCC) wird dazu ein Kabel für die serielle Datenübertragung (SDA - Serial Data) und ein Kabel für die Abstimmung des Taktes (SCL - Serial Clock) benötigt.
Da auch mehrere I2C-kompatible Geräte an denselben Datenbus angeschlossen werden können, bekommt jedes Gerät eine Adresse, damit klar ist, welches Gerät die Daten bekommen soll. Die Adresse wird bei der Konfiguration als Hexadezimalzahl angegeben und kann prinzipiell zwischen 0 und 127 liegen. Typischerweise ist die voreingestellte Adresse 0x27
. Dabei bedeutet 0x
, dass die folgenden beiden Ziffern als Hexadezimalzahl zu interpretieren sind. Falls bereits ein anderes Gerät auf dem gleichen Datenbus dieselbe Adresse hat, kann die Adresse über die Lötbrücken verändert werden (siehe bastelgarage.ch).
Recherche: Vor- und Nachteile der OLED-Technologie
Auf dem Markt für Displays gibt es immer noch eine harte Konkurrenz und längst nicht alle Hersteller setzen auf OLEDs. Recherchiere, welche Vor- und Nachteile diese Technologie für die Verwendung in Bildschirmen hat.