Fontsize Python ePaper Display EPD_5.83_B Waveshare

  • Moin!


    Irgendwie schaffe ich es nicht die Schriftgröße beim Waveshare ePaper Display (5.83"vB) zu ändern. Im Democode von Waveshare lautet der Code bspw. wie folgt:

    edp.imagered.text("Hello World", 270, 75, 0xff)


    Deifiniert also die Position Höhe und Breite und die Farbe (0xff = rot). Setze ich noch weitere Parameter dahinter steigt das Cript aus und sagt zuviele Parameter. Die Schrift ist dann aber auf dem Display viel zu klein. Der Democode ist irgendwie insgesamt nicht gut. Ich kann auch keine Variablen übergeben, wie für Temperatur. Ich will ein Wetter-Display am Ende haben.


    Meine Konfig:

    - Raspberry Pi Pico (Micropython)

    - Waveshare Display dreifarbig EPD_5.83_B Set für Pico


    Ich programmiere von einem Chromebook aus. Also steht mir Linux Bullseye und Python3 zur Verfügung. Als IDE nutze ich Thonny IDE für Python.


    Ich ahbe den Waveshare Democode versucht anzupassen:

    Den gesamten Code hier: https://github.com/techcree/epaperDisplay.git


    Alternativ wäre auch ein ganz neues Script möglich - klar! Ich würde auch ein Trinkgeld zahlen wenn mir jemand helfen kann.

    Es würde mir auch reichen wenn mich jemand auf einen Democode verweisen den ich im Web finde und bei dem es funzt.

    Wie gesagt, die Schriftart ist dabei nicht das Thema sondern die Schriftgröße und ich möchte nicht im Microsoftumfeld arbeiten mit C/C++/cmake ...


    Für eure Hilfe im voraus besten Dank!

  • Ich hab ein Wetterdisplay mit einem 7,5 Zoll Waveshare E-Ink (epd7in5b_HD) gebaut. Die Schiftgrösse mache ich wie folgt (mit Python):

    Code
    fontdir = os.path.join(os.path.dirname(__file__), 'font')
    
    def getFont(size):
        return ImageFont.truetype(os.path.join(fontdir, 'Font.ttc'), int(size))
    
    def main():
     ...
     ...
     drawCol1.text((int(xCoord), int(yCoord)),'Hallo Welt', font = getFont(34), fill = int(colorCode))

    DIe entsprechende Schriftart muss natürlich installiert sein (liegt bei mir im Unterordner font). Du kannst auch mal im entsprechenden WIKI schauen: https://www.waveshare.com/wiki/5.83inch_e-Paper_HAT_(B)#GUI

    Willst du einen Tag lang glücklich sein, dann saufe.

    Willst du ein Jahr lang glücklich sein, dann heirate.

    Willst du ein Leben lang glücklich sein, dann fahr Yamaha.

    Edited 4 times, last by FoCMB ().

  • Oh, stimmt, das hatte ich übersehen. Dann hilft mein Tip vielleicht nicht weiter :(

    Willst du einen Tag lang glücklich sein, dann saufe.

    Willst du ein Jahr lang glücklich sein, dann heirate.

    Willst du ein Leben lang glücklich sein, dann fahr Yamaha.

  • Hallo,


    der Code, der letztendlich den Text auf dem Display ändern soll ist dieser:

    Was soll deiner Meinung nach durch diesen Code auf dem Display passieren?

    Ich frage deshalb, weil hier im Bruchteil von Sekunden 11 verschiedene Texte an das Display gesendet, dann noch zwei Bytearrays und dann wird etwas in den RAM geschrieben (das passiert in der Funktion 'display').


    Schreib doch mal einen Text und mach dann eine Pause von zwei drei Sekunden (Stichwort 'sleep(2)') und dann den nächsten Text mit einer anderen Größe um zu sehen ob die sich ändert.


    Ich bin mir auch nicht sicher ob die Zahlen, die du übergibst die Schriftgröße ist oder die Position wo der Text stehen soll. Denn diese Angabe fehlt mir irgendwie. Im Quelltext werden die zwei Argumente mit 'width' und 'height' bezeichnet. Hm daraus kann ich nicht sicher sagen, was es letztendlich ist.

    Aber du hast das Display und kannst das mal versuchen.


    Grüße

    Dennis

    “If you’re not paying for the product, then you are the product” Daniel Hövermann