Zeitanzeige auf einem TFT mit GFXcanvas

Kate­go­rien:



Ziel des Projekts

Auf ver­schie­de­nen Mikro­con­trol­lern mit WiFi-Funk­ti­on soll eine digi­ta­le Uhr auf einem TFT ange­zeigt wer­den. Der Bild­schirm­auf­bau wird mit der ⇒GFX­can­vas der Biblio­thek Adafrui GFX rea­li­siert.

TFT 320×240
TFT 160×128
TFT 240×240

Konfiguration der Mikrocontroller

SPI-Pins der Mikrocontroller

Schriftarten

Du kannst ent­we­der die lokal instal­lier­ten Schrif­ten der ⇒Biblio­thek Adafruit_GFX oder auf die­ser Basis neue Schrift­grö­ßen erstel­len. Die inter­nen Schrif­ten haben eine maxi­ma­le Grö­ße von 24 Punk­ten. Die Dar­stel­lung von Umlau­ten und Son­der­zei­chen ist nicht mög­lich.

Auf der Sei­te ⤷https://rop.nl/truetype2gfx/ kannst du von den ver­füg­ba­ren frei­en Schrift­ar­ten neue Schrift­grö­ßen erstel­len. Aller­dings ver­wen­den die­se Schrif­ten auch nur den ein­fa­chen ASCII-Zei­chen­satz.

Die neu erstell­te Schrift befin­det sich anschlie­ßend in dei­nem Down­load-Ord­ner. Jetzt musst du sie noch in den Ord­ner

Arduino/libraries/Adafruit_GFX_Library/Fonts

kopie­ren.

Benötigte Bibliotheken

TFT 240×240 Pixel
Bibliothek Adafruit ST7735
TFT 160×128 Pixel
Bibliothek Adafruit ILI9341
TFT 320×240 Pixel

Das Programm (TFT 320×240 Pixel)

Bibliotheken und Variablen

Je nach ver­wen­de­tem Mikro­con­trol­ler muss eine ande­re WiFi-Biblio­thek ein­ge­bun­den wer­den.
Das wird mit #ifdef abge­fragt:

  • MKR 1010, Nano 33 IoT (ARDUINO_ARCH_SAMD)
    WiFiNINA.h
  • UNO R4 WiFi (ARDUINO_UNOR4_WIFI)
    WiFiS3.h
  • ESP32 (ESP32)
    WiFi.h
  • ESP8266 (ESP8266)
    ESP8266WiFi.h

Der setup-Teil

Den erfolg­rei­chen Start des Pro­gramms kannst du auf dem Dis­play beob­ach­ten:

Es gibt eini­ge wei­te­re Anpas­sun­gen für ESP32-Mikro­con­trol­ler.

Die Funktion ZeitAnzeigen

Der zwi­schen­zeit­li­chen Unter­bre­chung des WiFi-Signals soll vor­ge­beugt wer­den:

  • der Rück­ga­be­wert der Aktua­li­sie­rung der Zeit mit ntp.update() ist im Erfolgs­fall true.
    Bei einem Miss­erfolg ver­sucht das Pro­gramm die WiFi-Ver­bin­dung neu auf­zu­bau­en. Der Wert der Varia­ble Start wird auf true gesetzt, im loop-Teil wird die Zeit sofort aktua­li­siert.
  • ntp.isValid() gibt true zurück, wenn die ermit­tel­te Zeit gül­tig ist. Ist das nicht der Fall, ver­sucht das Pro­gramm die WiFi-Ver­bin­dung neu auf­zu­bau­en. Die Varia­ble Start wird auf true gesetzt und die Zeit wird sofort aktua­li­siert.

Der loop-Teil

Quellen

Ähnliche Projekte


Letzte Aktualisierung: Aug. 31, 2026 @ 12:35