Hallo zusammen,
mir ist da ein 1.8" Farb-TFT-Display untergekommen, das etwas von den üblicherweise verwendeten Anzeigemodulen abweicht.
Inwiefern da jetzt passende Anleitungen im Netz existieren, habe ich nicht weiter recherchiert, jedenfalls scheint das allgemein eingesetzte Display -> dieses <- hier zu sein.
Im Gegenzug dazu, sieht das, das ich da ausgebuddelt habe, so aus:
Wie unschwer zu erkennen, hat es mehr Anschlüsse (insgesamt 16).
Vorbereitung:
Um dieses Display anzuschliessen, benötigt ihr lediglich die Adafruit-ST7735-Library, die ihr -> hier <- herunterladen könnt.
Das File anschliessend, wie gewohnt, nach ~/sketchbook/libraries entpacken und das Verzeichnis Adafruit-ST7735-Library-master nach Adafruit_ST7735 umbenennen.
Das Display, hat im Gegensatz zum "Standard-" Display von Adafruit, einen (Löt-)Jumper JP1, der im Auslieferungs-Zustand offen ist. Er dient zur Auswahl der Betriebsspannung.
Auszug von der Hersteller-Seite:
Zitat
JP1:3.3 V / 5 V power supply switch
Use 3.3 V power supply is needed to make JP1 short circuit
Use 5 v power supply must break, or LCD will be broken immediately
Da ich das Display für dieses Beispiel mit 5V betrieben habe, habe ich den Jumper offen gelassen.
Über einen Betrieb mit 3V3 kann ich deshalb derzeit leider nichts sagen. Evtl. probiere ich das Display mal am RPi aus ... dann schreib ich dazu was im passenden Forum.
Pin #1 des Displays ist der äusserst rechte Pin in der Draufsicht (sollte auch einen quadratischen Lötpunkt haben), wenn die Anschlussleiste nach unten zeigt.
Also dann los und die Pins wie folgt verdrahten:
Pin #1 des Displays (GND) -> GND
Pin #2 des Displays (Vcc) -> +5V
Pin #6 des Displays (RESET) -> Pin #8 des Arduino
Pin #7 des Displays (A0) -> Pin #7 des Arduino
Pin #8 des Displays (SDA) -> Pin #5 des Arduino
Pin #9 des Displays (SCK) -> Pin #4 des Arduino
Pin #10 des Displays (CS) -> Pin #6 des Arduino
Pin #15 des Displays (LED+) -> +5V
Pin #16 des Displays (LED-) -> GND
Alle anderen Pins des Display bleiben unbeschaltet.
Nun den Arduino noch mit der Spannungsversorgung verbinden und die Arduino IDE starten.
Unter Datei->Sketchbook->libraries->Adafruit_ST7735 z.B. graphicstest auswählen.
Die Pins im sketch ggf. anpassen:
// For the breakout, you can use any (4 or) 5 pins
#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8 // you can also connect this to the Arduino reset
//Use these pins for the shield!
//#define sclk 13
//#define mosi 11
//#define cs 10
//#define dc 8
//#define rst 0 // you can also connect this to the Arduino reset
Alles anzeigen
Dann gibt es in der Funktion setup des sketch noch folgenden Absatz:
// Our supplier changed the 1.8" display slightly after Jan 10, 2012
// so that the alignment of the TFT had to be shifted by a few pixels
// this just means the init code is slightly different. Check the
// color of the tab to see which init code to try. If the display is
// cut off or has extra 'random' pixels on the top & left, try the
// other option!
// If you are seeing red and green color inversion, use Black Tab
// If your TFT's plastic wrap has a Black Tab, use the following:
tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab
// If your TFT's plastic wrap has a Red Tab, use the following:
//tft.initR(INITR_REDTAB); // initialize a ST7735R chip, red tab
// If your TFT's plastic wrap has a Green Tab, use the following:
//tft.initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab
Alles anzeigen
Hier geht es um die Schutzfolie des Display, das verschiedenfarbig Fähnchen haben kann.
In meinem Fall war das Fähnchen grün, trotzdem musste ich die Initialisierung für das "BLACKTAB" auswählen.
Das Ganze hat Einfluss auf einen gewissen Pixelversatz der Anzeige.
Dann das Ganze flashen und sich freuen ...
Ich hoffe, meine kleine Story ist für den einen oder anderen hilfreich.
Viele Grüsse aus dem Voralpenland,
-ds-