3.2 TFT von SaintSmart

Hallo zusammen,

habe mir das TFT Panel gekauft und wollte die Programme ITDB02_Graph16 und ITDB02_Touch ausprobieren leider fuktioniert es nicht. Die Programme werden ohne Fehler compiliert und ein Upload findet statt. Auf dem Display erscheint nichts. =( . Kann mir einer mal einen Tip geben was ich falsch mache. Ich arbeite mit der Arduino Version 1.0.3.Ich habe auch noch nicht soviel Erfahrungen sammeln können.
Danke schon mal für eure Tips. :slight_smile:

FranckeS:
Kann mir einer mal einen Tip geben was ich falsch mache.

Kannst Du mal schreiben, was Du überhaupt an Hardware hast?

Eine "steckfertige" Lösung für das Display besteht aus:
1x SainSmart 3.2 TFT LCD Display
1 x SainSmart TFT LCD Shield
1 x Arduino MEGA

Wenn Du jetzt beispielsweise nicht das "TFT LCD Shield" zwischen dem "TFT LCD Display" und dem MEGA gestöpselt hast, liegt möglicherweise ein Verkabelungsfehler vor.

Bei fehlerhafter/falscher Verkabelung von Bauteilen kannst Du mit Software nichts machen, insbesondere falsch verkabelte Bauteile nicht zum Funktionieren bringen.

Nur mal so als Idee.

Hey,

danke schon mal für die Antwort. Habe einen Arduino MEGA 2560,TFT LCD Shield V1.0 (Touch Screen,SD-Card) und das TFT .

FranckeS:
danke schon mal für die Antwort. Habe einen Arduino MEGA 2560,TFT LCD Shield V1.0 (Touch Screen,SD-Card) und das TFT .

Also die steckfertige Lösung, die sollte ja narrensicher sein, weil man da nichts falsch verkabeln kann, höchstens einen Pin beim Zusammenstecken abknicken, aber das sollte man wohl leicht erkennen können.

Hast Du denn mal am Konstrast-Einstellpoti gedreht, ob mit dem Beispielcode vielleicht nur deshalb nichts zu sehen ist, weil der Kontrast zu weit runtergeregelt ist?

Habe ich auch schon alles versucht und auch andere Beispiele ausprobiert. Ausser die Beleuchtung des TFTs passiert nichts.

FranckeS:
Habe ich auch schon alles versucht und auch andere Beispiele ausprobiert. Ausser die Beleuchtung des TFTs passiert nichts.

Initialisierung der richtigen Pin-Nummern?

In verschiedenen Libraries konnte ich verschiedene Pin-Nummern finden.

Keine Ahnung, welche Du verwendest und welche auf Deine Board/Shield Kombination zutreffen.

Dies sind Initialisierungszeilen wie ich sie in Demo-Code zu solchen 3.2"-TFT-Displays fand:

ITDB02 myGLCD(19,18,17,16);

ITDB02 myGLCD(38,39,40,41);

Oder auch:
ITDB02 myGLCD(A1,A2,A0,A4,A5,2);

Ich kenne Dein Board nicht, aber wenn verschiedene Demo-Programme so ganz verschiedene Pins initialisieren, dann scheint die Pinbelegung nicht mal für Arduinos ganz einheitlich zu sein. Eventuell mal genau in den Quellcode der Library und in die Datenblätter der Hardware reinschauen, welche LCD-Pins mit der Library bei diesem LCD-Modul tatsächlich initialisiert werden müssen. Meine Vermutung ist, dass es in dem von Dir verwendeten Beispielprogramm nicht die richtigen sind.

Hier im englischsprachigen Bereich des Forums fand ich folgenden Code, der mit dem Sainsmart 3.2" TFT funktionieren soll
(ohne Gewähr und ungetestet, da ich kein solches Modul habe)

// ITDB02_Touch_QuickDraw (C)2010 Henning Karlsen
// web: http://www.henningkarlsen.com/electronics
//
// This program is a quick demo of how to use the library.
//

#include <UTFT.h>
#include <ITDB02_Touch.h>

// extern uint8_t SmallFont[];

UTFT          myGLCD(ITDB32S,38,39,40,41);
ITDB02_Touch  myTouch(6,5,4,3,2);

void setup()
{
  myGLCD.InitLCD(PORTRAIT);
  //myGLCD.setFont(SmallFont);

  myGLCD.clrScr();
  myGLCD.setColor(255, 255, 255); // Colour the pixels are drawn in.

  myTouch.InitTouch(PORTRAIT);
  myTouch.setPrecision(PREC_MEDIUM);
}

void loop()
{
  while (myTouch.dataAvailable() == true)
  {
    myTouch.read();
    //myGLCD.print(myTouch.getY(), LEFT, 1);
    //myGLCD.print(myTouch.getX(), LEFT, 13);
    myGLCD.drawPixel (240-myTouch.getX(),myTouch.getY());
  }
}

Dieser Init ist für das SainSmart 3,2" TFT richtig:
myGLCD(SSD1289,38,39,40,41)

P.S.: Der Anschluss der SD ist an einigen Shields falsch. Wenn die SD nicht geht musst du MOSI/MISO überprüfen sowie zwei Widerstände ändern...

Weil das Thema hier gerade aktuell ist. Wieviele Pins bleiben denn vom Mega noch übrig, die man nutzen kann, wenn das Shield auf dem Mega steckt? Ich habe zwar jede Menge Angebote für das Shield und das TFT Display gefunden, aber keine Informationen welche Pins verwendet werden. Unter shieldlist.org ist auch nix zu finden.

PWM 8 bis 13; 6
UART 14 bis 21; 8
AnalogIn 0 bis 15; 16
Garantiert: 30

und soweit ich weiß noch am 2x18 die PINs
42 bis 49; 8
Also noch evtl. noch 8 dazu.

Wobei ich probieren werde, ob ich das Touch von den PWM weg bekomme und auf die 2x18 legen kann. Dies ist warscheinlich aus Layoutgründen so gewählt worden.

Hallo zusammen,

vielen Dank an alle für die schnelle Hilfestellung. Ich hätte mir die Demoprogramme mal richtig ansehen sollen. Man muss sie ja auch an der Hardware anpassen und siehe da, es funktioniert jetzt alles.
Gruß und noch einen schönen Tag

Mardetuino:
PWM 8 bis 13; 6
UART 14 bis 21; 8
AnalogIn 0 bis 15; 16
Garantiert: 30

und soweit ich weiß noch am 2x18 die PINs
42 bis 49; 8
Also noch evtl. noch 8 dazu.

Wobei ich probieren werde, ob ich das Touch von den PWM weg bekomme und auf die 2x18 legen kann. Dies ist warscheinlich aus Layoutgründen so gewählt worden.

OK, ich vermute mal das sind die Pins die noch frei sind, oder? Also ca. 30 bis 38 Pins die frei sind? Das wäre ja schon mal ganz ordentlich. Danke fürs aufschlüsseln.
Mario.

Richtig vermutet. Du hast ja auch nach freien gefragt :wink:
Ich finde es nur schade, dass für das Touch 8 PWM Ausgänge "verschwendet" wurden.