Displays mit SSD1306 TreiberIC

Aus Micropython Referenz
Zur Navigation springen Zur Suche springen

Es gibt eine ganze Reihe kleiner und inzwischen auch wieder preiswerter Displays mit dem SSD1306 Treiber IC. Von daher ist es interessant nach Treibern für Micropython zu suchen. Meine Recherchen haben ergeben, dass Alles was es für Micropython gibt auf die ssd1306.py von adafruit.com basiert. Dieses Modul wird von adafruit.com nicht mehr unterstützt, findet sich aber bei fast jeder Veröffentlichung von SSD1306 Treibern.

Die Mutter aller SSD1306 Treiber - ssd1306.py

Ssd1306.py importiert das Modul framebuf aus dem Standartmodul Satz.

Das Modul framebuf

>>> import framebuf
>>> dir(framebuf)
['__class__', '__name__', 'FrameBuffer', 'FrameBuffer1', 'GS2_HMSB', 'GS4_HMSB', 'GS8', 'MONO_HLSB', 'MONO_HMSB', 'MONO_VLSB', 'MVLSB', 'RGB565']

Das Modul enthält die beiden Klassen FrameBuffer und FrameBuffer1, sowie eine Reihe von Konstanten, die Eigenschaften des Moduls beschreiben.

>>> dir(framebuf.FrameBuffer)
['__class__', '__name__', '__bases__', '__dict__', 'blit', 'fill', 'fill_rect', 'hline', 'line', 'pixel', 'rect', 'scroll', 'text', 'vline']
>>> dir(framebuf.FrameBuffer1)
['__class__']

Die Klasse framebuf.FrameBuffer enthält die interessanten Methoden zur Darstellung von grafischen Objekten und Texten in Framebuffer. Der Sinn von framebuf.FrameBuffer1 erschließt sich mir nicht.

>>> dir(framebuf.GS2_HMSB)
['__class__', 'from_bytes', 'to_bytes']
>>> framebuf.GS2_HMSB
5
>>> framebuf.RGB565
1

Die Konstanten stehen für eine Zahl, die die Eigenschaften eines Displays repäsentiert.

SSD1306.py

https://docs.micropython.org/en/latest/esp8266/tutorial/ssd1306.html

Das Display einrichten

Eine Schnittstelle erzeugen

Eine Instanz des Displays erzeugen

Das Display benutzen

Meine ersten Versuche

Erste Versuche mit dem Raspberry Pi Pico und dem 0.96"-Display mit I2C-Schnittstelle

Texte mit unterschiedlichen Fonts darstellen

Links:

Micropython Kurs mit OLED und größerem Display

PiPy-Seite zu micropython-oled

Rui Santos

Unterschiedliche Fonts erstellen



Zurück