Displays mit SSD1306 TreiberIC: Unterschied zwischen den Versionen

Aus Micropython Referenz
Zur Navigation springen Zur Suche springen
Peter (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
Peter (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
Ssd1306.py importiert das Modul '''framebuf''' aus dem Standartmodul Satz.
Ssd1306.py importiert das Modul '''framebuf''' aus dem Standartmodul Satz.
=== Das Modul framebuf ===
=== 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
Es gibt im Internet verschiedene Versionen dieser Datei. Einigen haben nur die I2C-Schnittstelle implementiert, andere erben nicht von FrameBuffer, so dass die Methoden zusätzlich implementiert werden müssen.
Diese Ausführung von [[file:ssd1306.zip]] enthält alles.
== Das Display einrichten ==
=== Eine Schnittstelle erzeugen ===
=== Eine Instanz des Displays erzeugen ===
== Das Display benutzen ==


== Meine ersten Versuche ==
== Meine ersten Versuche ==
Zeile 9: Zeile 43:
=== [[Texte mit unterschiedlichen Fonts darstellen]] ===
=== [[Texte mit unterschiedlichen Fonts darstellen]] ===


== Links: ==
[https://www.youtube.com/playlist?list=PL4dxj1rGc3b3chUkad0Vuh2wDN-sRRJ_f Micropython Kurs mit OLED und größerem Display]
[https://pypi.org/project/micropython-oled/ PiPy-Seite zu micropython-oled]
[https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/ Rui Santos]
[http://www.grzesina.de/az/zeichensatz/Erstellen_von_gro%C3%9Fen_oder_eigenen_Zeichensaetzen.pdf Unterschiedliche Fonts erstellen]
https://how2electronics.com/micropython-interfacing-oled-display-esp32/
https://github.com/smittytone/SSD1306OLED-Python/tree/main
https://github.com/smittytone/SSD1306OLED-Python
https://github.com/TimAEllis/ssd1306-py
https://github.com/AnthonyKNorman/MicroPython_SSD1306
https://github.com/jdhxyy/ssd1306py-micropython
https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/
https://github.com/magnums/MicroPython-Oled-ssd1306-largeFont/tree/main
https://github.com/JonHylands/ssd1106
https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/


https://github.com/stlehmann/micropython-ssd1306/blob/master/ssd1306.py


https://how2electronics.com/micropython-interfacing-oled-display-esp32/




[[Hardware_Erweiterungen|Zurück]]
[[Hardware_Erweiterungen|Zurück]]

Aktuelle Version vom 17. November 2023, 00:31 Uhr

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[Bearbeiten | Quelltext bearbeiten]

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

Das Modul framebuf[Bearbeiten | Quelltext bearbeiten]

>>> 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[Bearbeiten | Quelltext bearbeiten]

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

Es gibt im Internet verschiedene Versionen dieser Datei. Einigen haben nur die I2C-Schnittstelle implementiert, andere erben nicht von FrameBuffer, so dass die Methoden zusätzlich implementiert werden müssen.

Diese Ausführung von Datei:Ssd1306.zip enthält alles.

Das Display einrichten[Bearbeiten | Quelltext bearbeiten]

Eine Schnittstelle erzeugen[Bearbeiten | Quelltext bearbeiten]

Eine Instanz des Displays erzeugen[Bearbeiten | Quelltext bearbeiten]

Das Display benutzen[Bearbeiten | Quelltext bearbeiten]

Meine ersten Versuche[Bearbeiten | Quelltext bearbeiten]

Erste Versuche mit dem Raspberry Pi Pico und dem 0.96"-Display mit I2C-Schnittstelle[Bearbeiten | Quelltext bearbeiten]

Texte mit unterschiedlichen Fonts darstellen[Bearbeiten | Quelltext bearbeiten]

Links:[Bearbeiten | Quelltext bearbeiten]

Micropython Kurs mit OLED und größerem Display

PiPy-Seite zu micropython-oled

Rui Santos

Unterschiedliche Fonts erstellen

https://how2electronics.com/micropython-interfacing-oled-display-esp32/

https://github.com/smittytone/SSD1306OLED-Python/tree/main

https://github.com/smittytone/SSD1306OLED-Python

https://github.com/TimAEllis/ssd1306-py

https://github.com/AnthonyKNorman/MicroPython_SSD1306

https://github.com/jdhxyy/ssd1306py-micropython

https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/

https://github.com/magnums/MicroPython-Oled-ssd1306-largeFont/tree/main

https://github.com/JonHylands/ssd1106

https://randomnerdtutorials.com/micropython-oled-display-esp32-esp8266/

https://github.com/stlehmann/micropython-ssd1306/blob/master/ssd1306.py

https://how2electronics.com/micropython-interfacing-oled-display-esp32/


Zurück