Das Display geht immer an und aus

  • Vielleicht liegt es ja daran, dass in der Funktion anzeigen() jedes mal tft.init() aufgerufen wird. Möglicherweise sollte man das nur einmal machen.

    Das kann ich allerdings nur vermuten, weil ich diese Library nicht kenne.


    Gruß Kai

    Das Reh springt hoch. Das Reh springt weit. Warum auch nicht? Es hat ja Zeit. 8o

  • Hallo,


    ich nutze für den Kurs folgende Hardware:

    TTGO T-Display

    https://github.com/Xinyuan-LilyGO/TTGO-T-Display

    Zur Ansteuerung des Displays:

    https://github.com/russhughes/st7789_mpy


    Bis zu der Stoppuhr konnte ich gut damit folgen, leider ergibt sich hier das Problem, dass das Display immer an und aus geht sowie man den "while True" Befehl nutzt (wie ein Blinken, alles wird richtig dargestellt, nur leider nicht ohne Unterbrechung).

    Finde leider keine Lösung, wäre nett wenn mir jemand einen Tipp geben könnte.

    Hier noch der Code den ich verwende:


    from machine import Pin, SPI

    import time

    import st7789 as st7789



    import vga2_bold_16x32 as font


    tft = st7789.ST7789(

    SPI(2, baudrate=30000000, polarity=1, phase=1, sck=Pin(18), mosi=Pin(19)),

    135,

    240,

    reset=Pin(23, Pin.OUT),

    cs=Pin(5, Pin.OUT),

    dc=Pin(16, Pin.OUT),

    backlight=Pin(4, Pin.OUT),

    rotation=3)





    #Taster

    start_taste = Pin(12,Pin.IN,Pin.PULL_UP)

    stopp_taste = Pin(15,Pin.IN,Pin.PULL_UP)


    #Zustände

    start_zeit = 0

    total_zeit = 0

    zwischen_zeit = 0

    aktiv = False


    def tasten_abfragen():

    return not start_taste.value(), not stopp_taste.value()



    def zeit_text(zeit):

    millis = zeit % 1000

    sekunden = (zeit // 1000) % 60

    minuten = (zeit // 1000 // 60) % 60

    stunden = (zeit // 1000 // 60 // 60) % 24


    return "{:02d}:{:02d}:{:02d}.{:3d}".format(stunden, minuten, sekunden, millis)


    def anzeigen():

    tft.init()

    tft.text(font, "Stoppuhr", 0, 0, st7789.WHITE)

    total_text = zeit_text(total_zeit)

    tft.text(font, total_text, 0, 40, st7789.WHITE)





    while True:




    start, stopp = tasten_abfragen()


    if not aktiv:

    if start:

    start_zeit = time.ticks_ms()

    aktiv = True


    if aktiv:

    total_zeit = time.ticks_ms() - start_zeit

    if stopp:

    aktiv = False


    anzeigen()