Sonntag, 16. November 2014

2,2" TFT ILI9341 Arduino Shield

TFT Hardware

TFT Displays werden immer günstiger, ich habe ein 2,2" TFT mit SPI Interface (ILI9341 5 Pin) für unter 6 € mit Porto aus GB bekommen. Das ist ja unglaublich, wenn man überlegt, das dieses Angebot in die Nähe des billigsten LCD Displays mit SPI Interface kommt, aber viel mehr kann.




Die Auflösung dieses TFT Displays ist viertel VGA (320x240 Pixel). 

Projekt

Bei diesem Projekt ging es vor Allem, um die Hardware Ansteuerung, was ich dann damit machen werde, wenn das Shield fertig ist, weiß ich noch nicht.
Ich denke, wenn ich auch auf den SD Adapter zugreifen kann und man in einer erträglichen Geschwindigkeit auf Bilder zugreifen kann, wäre ein kleiner Bildbetrachter doch eine witzige Anwendung.
Dieses kleine Projekt wurde inspiriert von Gordon Pimblotts Blog Beitrag zu diesem Display.

 

Pin-Zuordnung


TFT-01 -> VCC3.3V
TFT-02 -> GND
TFT-03 -> CS -> D10
TFT-04 -> Reset -> D08
TFT-05 -> DC -> D09
TFT-06 -> MOSI -> SD-02
TFT-07 -> SCK -> SD-04
TFT-08 -> LED (D07 oder 3,3V mit 150 Ohm)
TFT-09 -> MISO -> SD-03
SD-01 -> CS -> D04


 

Pegelanpassung


Da das TFT Display ausschließlich mit max. 3.3V betrieben werden darf, muss nicht nur die Versorgungsspannung von 3.3V, sondern auch die Signalpegel mit max. 3.3V bereitgestellt werden.

Auch wenn der CD4050BE nicht die maximale SPI Geschwindigkeit schaffen sollte, nutze ich diesen Ansatz für mein Projekt.

Erster Versuchsaufbau auf Breadboard und Adafruid GFX mit ILI9341 Treiber,



Das Protoboard realisiert die Pegel-Wandlung und nimmt das TFT Board auf







 

Arduino Bibliotheken

 


Folgende Arduino Bibliotheken unterstützen dieses TFT Display mit ILI9341 Controller:


Für die UTFT Bibliothek für einen Arduino UNO nutzen zu können, muss man in der dafür vorbereiteten Memsaver Datei die Unterstützung für alle Controller außer dem ILI9341_5P deaktivieren. Damit steht jetzt genug Platz im UNO zur Verfügung, um das UTFT Demo 320x240 ablaufen zu lassen. 


Wie bei Gordon beschrieben, alles bis auf die ILI9341 5SP Treiber entfernen, so passte Gordons Sketch, der Hennings UTFT nutzt in den UNO Speicher.



Die Adafruid ILI9341 Bibliothek nutzt die SPI Pins und erreicht im Vergleich zur Nutzung 'normalen' Pins eine beachtliche Geschwindigkeitsverbesserung.
Ich musste nur im Konstruktor neben Chip Select und DC auch das Reset Pin mit übergeben, um im SPI Modus arbeiten zu können.






TFT SD Bildbetrachter


Ein kleines Projekt direkt vom TFTV2 Beispiel TFTBMP abgeleitet, das ein paar Bilder von der SD Karte auf dem TFT darstellt.