GFXcansas einsetzen

Lesezeit: 5 Minuten


Ziele des Projekts

  • Ein­führung in das Konzept GFX­can­vas der Bib­lio­thek Adafruit GFX Library
  • Anzeige der analo­gen Dat­en eines Poten­tiome­ters als Text und als verän­der­bar­er Balken

Verwendete Hardware

Das Programm im Film

Anschluss des Potentiometers

Benötigte Bibliothek

Soll ein schnell wech­sel­nder Text oder ein sich verän­dern­des grafis­ches Ele­ment an der gle­ichen Posi­tion dargestellt wer­den, gibt es zwei Prob­leme:

  • der geän­derte Text ist länger oder kürz­er als der vorherige, dadurch über­lap­pen sich die Buch­staben
    das neue grafis­che Ele­ment unter­schei­det sich in der Größe vom bish­eri­gen
  • weil der Bild­schirm immer gelöscht und wieder neu aufge­baut wird, verur­sacht das neue Ele­ment ein Flack­ern des TFTs

Das erste Prob­lem lässt sich lösen indem der bish­erige Text oder das grafis­che Ele­ment durch ein aus­ge­fülltes Rechteck “gelöscht” wird. Das ver­hin­dert allerd­ings nicht das Flack­ern des TFTs.

Die durch die Instal­la­tion der Bib­lio­thek Adafruit ILI9341 zusät­zlich instal­lierte Bib­lio­thek Adafruit GFX Library enthält die Funk­tion GFX­can­vas. Sie legt ein Bild der darzustel­len­den Dat­en im Spe­ich­er an, auf Anforderung wird dieses Bild auf dem TFT dargestellt.

Im Film wird der blau dargestellte Bere­ich mit GFX­can­vas erzeugt, im roten Bere­ich wird der Text zunächst durch ein rotes Rechteck “gelöscht” und anschließend neu geschrieben. Als Text wird die mit ⇒mil­lis() gemessene Zeit, die seit dem Start des Pro­gramms ver­gan­gen ist, dargestellt.
Man kann den Unter­schied gut erken­nen.

Jedes Objekt vom Typ GFXcanvas1 benötigt pro ein Bit pro Pix­el. Wie im Beispiel eines Bere­ichs mit 240x150 Pix­eln sind das 36.000 Bits, das entspricht 4.500 Bytes oder 4,5 kilo­Bytes. Der Spe­icher­platz eines Arduino UNO R3 reicht hier­für nicht aus.

Du musst die // vor den Pins des ver­wen­de­ten Mikro­con­trollers ent­fer­nen.

Konfiguration der Mikrocontroller

Analoger Pin

Schließe das Poten­tiome­ter an einem analo­gen Pin an:

Das Programm TFT 320x240 Pixeln

Du musst beim ver­wen­de­ten Mikro­con­troller die // ent­fer­nen und den Wert für ADC­max anpassen:
ESP32-Wroom: 4096, ESP8266: 1024

Programm für TFT 160x128 Pixel

Du musst beim ver­wen­de­ten Mikro­con­troller die // ent­fer­nen und den Wert für ADC­max anpassen:
ESP32-Wroom: 4096, ESP8266: 1024


Letzte Aktualisierung: Nov. 10, 2025 @ 22:28