Das DollaTek 2,4” Display ist ein Farb-LCD-Display, das per SPI-Schnittstelle angesteuert wird. Als Treiber-IC werkelt das ILI9341 darin. Die Auflösung beträgt 240x320 Pixel. Die Betriebsspannung ist 3,3V! Damit kann man es z.B. an ESP8266 Module direkt anschließen, für Arduinos, wie den UNO, Mega und Nano benötigt man für die Signalleitungen einen Pegelwandler. Der Pegelwandler sollte schnell genug arbeiten, sonst funktioniert es nicht. Für meine Schaltung verwende ich ein Modul mit einem TXS0108E. Ich habe das im Dreierpack für rund 6,00€ bei AZ-Delivery (über Amazon) gekauft, das Stück also ca. 2€. Bestellt man direkt bei AZ-Delivery kosten das Dreierpack 6,80€! zuzügl. Versand. Wer also bei Amazon Prime hat, sollte das da bestellen und es kommt auch schneller.
Das Display hat eine Besonderheit. Normalerweise hat der SPI-Bus außer der üblichen Signalleitungen MISO, MOSI, CLK usw. noch einen CS (Chip Select) Anschluß, dieser fehlt dem DollaTek aber. Trotzdem funktioniert es.
Die Anschlüsse des DollaTek sind:
GND, VCC (3,3V!), CLK (Clock), MOSI, RES (reset), DC, BLK (Betriebsspannung Hintergrundbeleuchtung 3,3V!) und MISO. Der MISO-Anschluß hat bei meinem Exemplar keine Funktion, weil das Display nur eine Anzeigefunktion hat. Module, die berührungssensitv sind, können damit auch Informationen zurückliefern. Also lasse ich den Anschluss offen.
Das Display belegt also nur zwei der typischen SPI-Ports. Beim Nano ist das D11 für MOSI und D13 für SCK (Clock – also das Taktsignal für die Datenübermittlung). Die übrigen Anschlüsse habe ich frei gewählt, bzw. mich an die Digitalportnummern eines WEMOS D1 mini angelehnt. So liegt DC auf D4 und RES auf D3. Das WEMOS D1 mini verwendet für MOSI D7 und für SCK D5.
Die verwendeten Librarys für die Ansteuerung sind:
#include <Adafruit_GFX.h> // include Adafruit graphics library
#include <Adafruit_ILI9341.h> // include Adafruit ILI9341 TFT library
Zum Ausprobieren habe ich ein Beispielprogramm ausgeweidet und mit eigenen Zeilen ergänzt.
Das Display hat eine Besonderheit. Normalerweise hat der SPI-Bus außer der üblichen Signalleitungen MISO, MOSI, CLK usw. noch einen CS (Chip Select) Anschluß, dieser fehlt dem DollaTek aber. Trotzdem funktioniert es.
Die Anschlüsse des DollaTek sind:
GND, VCC (3,3V!), CLK (Clock), MOSI, RES (reset), DC, BLK (Betriebsspannung Hintergrundbeleuchtung 3,3V!) und MISO. Der MISO-Anschluß hat bei meinem Exemplar keine Funktion, weil das Display nur eine Anzeigefunktion hat. Module, die berührungssensitv sind, können damit auch Informationen zurückliefern. Also lasse ich den Anschluss offen.
Das Display belegt also nur zwei der typischen SPI-Ports. Beim Nano ist das D11 für MOSI und D13 für SCK (Clock – also das Taktsignal für die Datenübermittlung). Die übrigen Anschlüsse habe ich frei gewählt, bzw. mich an die Digitalportnummern eines WEMOS D1 mini angelehnt. So liegt DC auf D4 und RES auf D3. Das WEMOS D1 mini verwendet für MOSI D7 und für SCK D5.
Nano | Pegelwandler | TFT-Display |
D8 | ||
D9 | ||
D13 | A2 - B2 | CLK (SCK) Grau |
D3 | A3 - B3 | DC (CS/SS) |
D11 | A1 - B1 | MO(SI) Violett |
D12 | ||
D10 | ||
D6 | A4 - B4 | RES RST Braun |
MISO Gelb ohne Funktion | ||
3,3V | VA + OE | BLK Grün und VCC Weiß |
5V | VB | - |
GND | GND Schwarz | GND Schwarz |
Die verwendeten Librarys für die Ansteuerung sind:
#include <Adafruit_GFX.h> // include Adafruit graphics library
#include <Adafruit_ILI9341.h> // include Adafruit ILI9341 TFT library
Zum Ausprobieren habe ich ein Beispielprogramm ausgeweidet und mit eigenen Zeilen ergänzt.
C++:
/**********************************************************************
Testprogramm für das DollaTek 2,4 Zoll LCD Display mit 240x320 Bildpunkten
an einem Arduino Nano Clone
This is our GFX example for the Adafruit ILI9341 Breakout and Shield
----> http://www.adafruit.com/products/1651
**********************************************************************/
#include <Adafruit_GFX.h> // include Adafruit graphics library
#include <Adafruit_ILI9341.h> // include Adafruit ILI9341 TFT library
#define TFT_CS 2 // TFT CS pin is connected to Nano Port D2
#define TFT_RST 3 // TFT RST / RES pin is connected to Nano Port D3
#define TFT_DC 4 // TFT DC pin is connected to Nano Port D4
// initialize ILI9341 TFT library with hardware SPI module
//SCK (CLK) ---> Nanao Port D13
//MOSI(DIN) ---> Nano Port D11
// BLK an 3,3V VCC
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
void setup() {
Serial.begin(9600);
Serial.println("ILI9341 Test!");
tft.begin();
}
void loop(void) {
Serial.println("Neues Schleife");
tft.setRotation(1);
tft.fillScreen(ILI9341_BLUE); // Bildschirm blau hinterlegen
tft.setTextSize(2); // Schriftgröße einstellen 1 - 40 Zeichen pro Zeile, 2 - 20 Zeichen pro zeile, 3 - 13 zeichen pro Zeile
// Schriftgroße 2 hat Hoehe x Breite = 14 x 10 Pixel
tft.setCursor(0, 0); // Cursor auf oben links setzen Spalte, Zeile in Pixel
tft.setTextColor(ILI9341_YELLOW); // Farbe der Schrift einstellen
//tft.println("1. Zeile #");
tft.println("01234567890123456789012345");
tft.setCursor(0, 18);
tft.println("Groesse 2 Gelb/ X");
tft.setTextColor(ILI9341_RED); // Farbe der Schrift einstellen
tft.setCursor(0, 36);
tft.println("Groesse 2 Rot/#");
tft.setTextColor(ILI9341_GREEN); // Farbe der Schrift einstellen
tft.setCursor(0, 54);
tft.println("Groesse 2 Gruen/");
tft.setTextColor(ILI9341_WHITE); // Farbe der Schrift einstellen
tft.setCursor(0, 72);
tft.println("Groesse 2 Weiss");
// tft.fillScreen(ILI9341_WHITE); // Bildschirm blau hinterlegen
tft.setTextColor(ILI9341_GREENYELLOW); // Farbe der Schrift einstellen
tft.setCursor(0, 90);
tft.println("XXXXXXXXXXXXXXXXXXXX");
tft.println("YXYXYXYXYXYXYXYXYXYX");
tft.println("ZFZFZFZFZFZFZFZFZFZF");
tft.println("===$$$%%%???**'++<>^");
delay(5000);
tft.fillScreen(ILI9341_BLACK); // Bildschirm schwarz hinterlegen
tft.setCursor(0, 0); // Cursor auf oben links setzen
tft.setTextColor(ILI9341_ORANGE, ILI9341_BLUE);
// Farbe der Schrift einstellen, Schriftfarbe Orange - Zeichenhintergrund Blau
for (byte i = 1; i<21; i++){
tft.print("Zeile: "); tft.println(i);
}
delay(5000);
}
Zuletzt bearbeitet: