GFXcansas einsetzen




Ziele des Projekts

  • Ein­füh­rung in das Kon­zept GFX­can­vas der Biblio­thek Adafruit GFX Libra­ry
  • Anzei­ge der ana­lo­gen Daten eines Poten­tio­me­ters als Text und als ver­än­der­ba­rer Bal­ken

Verwendete Hardware

Das Programm im Film

Anschluss des Potentiometers

Benötigte Bibliothek

Soll ein schnell wech­seln­der Text oder ein sich ver­än­dern­des gra­fi­sches Ele­ment an der glei­chen Posi­ti­on dar­ge­stellt wer­den, gibt es zwei Pro­ble­me:

  • der geän­der­te Text ist län­ger oder kür­zer als der vor­he­ri­ge, dadurch über­lap­pen sich die Buch­sta­ben
    das neue gra­fi­sche Ele­ment unter­schei­det sich in der Grö­ße vom bis­he­ri­gen
  • weil der Bild­schirm immer gelöscht und wie­der neu auf­ge­baut wird, ver­ur­sacht das neue Ele­ment ein Fla­ckern des TFTs

Das ers­te Pro­blem lässt sich lösen indem der bis­he­ri­ge Text oder das gra­fi­sche Ele­ment durch ein aus­ge­füll­tes Recht­eck „gelöscht“ wird. Das ver­hin­dert aller­dings nicht das Fla­ckern des TFTs.

Die durch die Instal­la­ti­on der Biblio­thek Adafruit ILI9341 zusätz­lich instal­lier­te Biblio­thek Adafruit GFX Libra­ry ent­hält die Funk­ti­on GFX­can­vas. Sie legt ein Bild der dar­zu­stel­len­den Daten im Spei­cher an, auf Anfor­de­rung wird die­ses Bild auf dem TFT dar­ge­stellt.

Im Film wird der blau dar­ge­stell­te Bereich mit GFX­can­vas erzeugt, im roten Bereich wird der Text zunächst durch ein rotes Recht­eck „gelöscht“ und anschlie­ßend neu geschrie­ben. Als Text wird die mit ⇒mil­lis() gemes­se­ne Zeit, die seit dem Start des Pro­gramms ver­gan­gen ist, dar­ge­stellt.
Man kann den Unter­schied gut erken­nen.

Jedes Objekt vom Typ GFXcanvas1 benö­tigt pro ein Bit pro Pixel. Wie im Bei­spiel eines Bereichs mit 240×150 Pixeln sind das 36.000 Bits, das ent­spricht 4.500 Bytes oder 4,5 kilo­Bytes. Der Spei­cher­platz eines Ardui­no UNO R3 reicht hier­für nicht aus.

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

Konfiguration der Mikrocontroller

Analoger Pin

Schlie­ße das Poten­tio­me­ter an einem ana­lo­gen Pin an:

Das Programm TFT 320 ✕ 240 Pixeln

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

Programm für TFT 160 ✕ 128 Pixel

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


Letzte Aktualisierung: Jan. 2, 2026 @ 10:10

Inhalt