25a. Lektion: Fonts: Difference between revisions
| Line 51: | Line 51: | ||
Hierbei handelt es sich um eine Erweiterung von ssd1306.py.<br> | Hierbei handelt es sich um eine Erweiterung von ssd1306.py.<br> | ||
Die Buchstaben werden hier mit Grafikbefehlen gezeichnet. Deshalb scheidet diese Lösung für mich aus. | Die Buchstaben werden hier mit Grafikbefehlen gezeichnet. Deshalb scheidet diese Lösung für mich aus. | ||
== mark-gladding /packed-font == | |||
Quelle: https://github.com/mark-gladding/packed-font | |||
Revision as of 23:01, 12 March 2024
maysrp /ssd1306_font
Quelle: https://github.com/maysrp/ssd1306_font
Diese Lösung erscheint auf den ersten Blick interessant. Leider funktioniert sie bei meinem ersten Test nicht.
Problem
in font.py werden die Files ASC16 ... 32 geöffnet (mit open). Sie werden aber nicht wieder geschlossen.
Ob das der Grund der Fehlermeldung ist weiß ich nicht. Es gibt jedenfalls eine Fehlermeldung, die ich nicht beseitigen kann. Deshalb scheidet diese Lösung aus.
magnums /MicroPython-Oled-ssd1306-largeFont
Quelle: https://github.com/magnums/MicroPython-Oled-ssd1306-largeFont
Diese Lösung funktioniert.
Allerdings ist eine Anpassung für das Demoboard erforderlich.
Anpassung für das Demoboard:
In main.py muss von SoftI2C auf I2C umgestellt werden. Dazu sind die beiden folgenden Zeilen so umzuändern, wie hier dargestellt:
Zeile 3:
from machine import Pin, I2C
Zeile 13:
i2c = I2C(0, scl=Pin(21), sda=Pin(20))
In Thonny erscheint die folgende Ausgabe wenn main.py ausgeführt wird:
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot
Orientation: horiz Reversal: False
>>>
Die Zeile: Orientation: horiz Reversal: False wird in writer.py erzeugt. Ihre Ausgabe wird verhindert, wenn in Zeile 19
def __init__(self, device, font, verbose=False):
verbose auf False gesetzt wird, wie oben dargestellt.
Nachteil
Es wird nur ein Font mitgeliefert.
nickpmulder /ssd1306big
Quelle: https://github.com/nickpmulder/ssd1306big
Hierbei handelt es sich um eine Erweiterung von ssd1306.py.
Die Buchstaben werden hier mit Grafikbefehlen gezeichnet. Deshalb scheidet diese Lösung für mich aus.