Wie bekomme ich ein TFT Display an einem Arduino zum laufen

Ein TFT-Display (Thin-Film-Transistor Display) ist ein Flüssigkristall-Display (LCD), das in vielen elektronischen Geräten wie Computern, Fernsehern, Smartphones und Tablets verwendet wird. Es handelt sich um eine Technologie, die eine verbesserte Bildqualität und eine schnellere Reaktionszeit im Vergleich zu älteren LCD-Displays bietet.

Die Funktionsweise eines TFT-Displays basiert auf der Verwendung von Flüssigkristallen, die zwischen zwei Glasplatten angeordnet sind. Jeder Flüssigkristallzelle wird ein dünner Filmtransistor (TFT) zugeordnet, der als Schalter fungiert und den Durchfluss von elektrischem Strom steuert.

Wenn elektrischer Strom durch den TFT fließt, ändert sich die Ausrichtung der Flüssigkristalle, was zu einer Veränderung der Lichtdurchlässigkeit führt.

Verwendung mit einem Arduino Uno:

Hier ein Anschluss Beispiel für ein TFT-Display ST7735S, mit 1,77 Zoll Bilddiagonale und 128×160 Pixeln Auflösung das per SPI Bus kommuniziert, mit 8 Anschlüssen.

Anschlüsse:

Verdrahtung:

Passende Library / Bibliothek einbinden

  • Gehe ins Sketch Menü.
  • Drücke Bibliothek einbinden.
  • Öffne Bibliotheken verwalten.
  • Suche nach ST7735 von ADAFRUIT und installieren.

Alternative Quelle: Adafruit-ST7735-Library

Quellcode:

#include <Adafruit_GFX.h>    
#include <Adafruit_ST7735.h> 
#include <SPI.h>

#define TFT_SCLK 13   
#define TFT_MOSI 11   
#define TFT_CS    10
#define TFT_RST   8  
#define TFT_DC    9 

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);

void setup(void) {
  tft.initR(INITR_BLACKTAB);  
  tft.fillScreen(ST7735_BLUE);
  tft.setTextColor(ST7735_WHITE);
  tft.setTextSize(2);
  tft.setCursor(15,10);
  tft.println("Gefunden");  
  tft.setCursor(50,30);
  tft.println("bei"); 
  tft.setCursor(18,50);
  tft.println("Prilchen"); 
  delay(1000);
}

void loop() {
  tft.fillScreen(ST7735_BLACK);
  tft.setTextColor(ST7735_WHITE);
  tft.setCursor(0,10);
  
  tft.setTextSize(1);
  tft.println("Schriftgroesse 1");
  delay(1000);

  tft.setTextSize(2);
  tft.println("Schriftg 2");
  delay(1000);

  tft.setTextSize(3);
  tft.println("Schri 3");
  delay(1000);
  
  tft.setTextSize(4);
  tft.println("Sch 4");
  delay(1000);

  tft.setTextSize(5);
  tft.println("S 5");
  delay(5000);
}

, ,