Probleme mit TFT von SainSmart (Arduino, UTFT)

OP #4043609
Lesenswert?

Hallo Mikrocontroller.net Communtiy,
ich bin seit einigen Stunden am versuchen (vergeblich) meinen TFT (1) 
mit meinem Arduino Mega 2560 R3 anzusteuern. Ich habe meiner Meinung 
nach alle Möglichkeiten ausgeschöpft. Ich finde die Dokumentation des 
Display etwas... magelhaft. Ich habe hauptsächlich versuch mit der 
UTFT-Lib zu arbeiten, aber das Bild bleibt weiß. Das Shield (wenn es 
überhupt nötig ist, da bin ich mit immernoch nicht sooo sicher) hat nur 
36 Anschlüsse und ich habe keine Pin-Belegung dazu gefunden. Das Display 
direkt mit Kabeln anzusteuern funktioniert leider auch nicht. Ich bin 
berits einigen Anleitungen gefolgt. Ich bin davon ausgegenagen ich müsse 
das disp. einfach auf den Mega stecken, und mit der Lib ein kleines Prog 
schreiben damit es geht. Ich habe schon auf Google und überall gesucht, 
aber nichts scheinet das Ding wirklich anzusprechen. Mal ganz davon 
abgesehen, dass das Ding nichtmal eine einheitlich Art. bezeichnung hat. 
Habe dann halt nach dem IC (ILI9325) gesucht.
Ich bin noch ein wenig ein Anfänger im bereich der uC, also nehmts mir 
bitte nicht übel ;)

Schonmal danke im Vorraus,
Florian

Edit: Um ein paar Vergleiche zu schaffen: WEnn man sich in der UTFT-Lib 
das Beispiel "UTFT_Demo_320x240.ino" ansieht und eine Zeile nach
1
UTFT myGLCD(ILI9325C,38,39,40,41);
ändert dann habe ich immernoch einen weißen Bildschirm.



1: 
http://www.amazon.de/gp/product/B00JA5ZZHO/ref=ox_sc_act_title_3?ie=UTF8&psc=1&smid=A34XFDH679RDEX
OP #4043633
Lesenswert?

google schrieb:
> Vielleicht legst Du es erstmal beiseite und versuchst Dich an
> einfacheren Projekten ...

Bich bin vllt noch ein Einsteiger im verlgeich zu anderen, aber ganz 
unerfahren nun auch wieder nicht. LAN-Server, LCD-Disp, SD-Karte, AD/DA, 
433MHz Funk, IR und noch ein paar andere Sachen hab ich bereits 
geschrieben. Und nein, damit meine ich nicht Copy & Paste ausm Netz
Gast #4043643
Lesenswert?

Nach dem hier: "SainSmart 5" TFT/SD Shield Für Arduino Mega2560(R3):This 
is Sainsmart TFT LCD Extend shield for Mega2560(R3). The shield is 100% 
compatible with Mega2560(R3) and fit for tow kind of TFT LCD module:* 
40pin version LCD which is commonly used in previous version of TFT 
shield for Mega2560(R3)(like 3.2/5 inch LCD Display)* 32pin version LCD 
which is commonly used in STM32 development 
board.(unsoldered)Lieferumfang:1 x SainSmart 2.4" TFT LCD Touch Screen 
Display1 x SainSmart 5" TFT/SD Shield for Arduino Mega2560(R3)" hast Du 
alles, was Du hardwaretechnisch brauchst. War die Lieferung vollständig 
und richtig.

Hier liegen die Originalinfos dazu:
http://www.sainsmart.com/sainsmart-due-5-lcd-touch-panel-sd-card-slot-tft-lcd-shield-kit-for-arduino.html
OP #4043672
Lesenswert?

Das ist Toll. Hilft mit aber trotzdem nicht weiter. Dass es "100%" 
kompatibel ist, das kannte ich schon von amazon und das Problem ist, 
dass ist es nicht. Ich habs draufgesteckt, UTFT mit den oben genannten 
Werten geuploadet und es ist weiß. Ich hab auch viele andere Sachen 
versucht, mit dem entsprechenden Libs soll es auch an einem Uno Laufen, 
aber immernoch weiß. Ich bekomme langsam das Gefühl, das Ding ist 
einfach kaputt. Ich hab schon mehrere Einträge gelesen, wo ähnlich 
Probleme wie meines geschildert wurden und eindach das Disp kaputt 
war...
Gast #4043673
Lesenswert?

http://www.sainsmart.com/featured-products/sainsmart-mega2560-board-3-5-tft-lcd-module-display-shield-kit-for-atmel-atmega-avr-16au-atmega8u2.html#customer-reviews

Registerkarte Tutorial. Da ist schon mal die Pinbelegung.
NC: Not connected
REST: Board Reset
F_blablabla wird zu den Pads für einen Flashbaustein weitergeführt, wenn 
man einen reinlöten will
SD_blablabla ist für die SD-Kartenfassung
D_blablabla geht zum Touch-Controller ADS7843
Die anderen Pins gehen zum Displaytreiber SSD1289

Deren Datenblätter gibts im Netz. Es gibt auch ein .rar von Sainsmart 
mit Dokus, Bibliotheken und Beispielen.


Und hast du zu einem Objekt der Klasse UTFT auch die Methode InitLCD() 
auch ganz sicher aufgerufen? Ich wühle mich gerade durch den Code der 
Library und sorry meine Cpp Kenntnisse sind alt und ich weiß nicht mal, 
ob du überhaupt auch Cpp nutzt, aber ich sehe nirgends, dass die das im 
Konstruktor aufrufen...
Gast #4043698
Lesenswert?

http://www.sainsmart.com/sainsmart-3-2-tft-lcd-display-touch-panel-pcb-adapter-sd-slot-for-arduino-2560.html

Da ist das LCD Modul auch verlinkt. Ich könnt schwören, es ist das 
gleiche wie das, was du auf das Shield steckst. Da steht, es hat den 
SSD1289 Controller. Auf dem Shield kann keiner sein, dann müsste es so 
viele Kontakte wie das Display Pixel haben. Ruf mal

UTFT myGLCD(SSD1289,38,39,40,41);
myGLCD.InitLCD(LANDSCAPE);

als Initialisierung auf
OP #4043727
Lesenswert?

1. Ja, InitLCD habe ich gemacht.
2. Wieso SSD1289, im der Amazon Produktbeschreibung ist von einem 
ILI9325 die Rede
3. Ich habe mir die Links mal angesehen, sie sind halt alle auf einen 
anderen Chip bezogen, nichts desto trotz hat keiner der Codes eine 
veränderung am Disp gezeigt.
4. Ich benutze die Arduino-IDE im Moment, also C/C++
5. Deine Initialisierung habe ich versucht, aber auch keinen Erfolg

Langsam glaube ich dass ich einen kleinen Fehlgriff gelandet habe und 
doch besser zum 10€ teureren Modell mit guten Rezensionen hätte greifen 
sollen...

Vielen dank dass ihr euch Zeit für mein Problem nehmt

Grüße,
Florian
Gast #4043917
Lesenswert?

bei 16bit-modus(?) den ersten Initialisierungscode Schritt für Schritt 
austesten
1
void LCD_WriteIndex(uint16_t index)
2
{
3
  LCD_CS(0);
4
  LCD_RS(0);
5
  LCD_RD(1);
6
  LCD_Send( index );
7
  LCD_WR(0);
8
  LCD_WR(1);
9
  LCD_CS(1);
10
}
nach jedem Funktionsaufruf "while(1);" einbauen und mit dem Multimeter 
messen, was passiert.

geht cs/rs/rd auf low/high? liegen nach lcd_send die richtigen Pegel an 
den richtigen Pins?

etc.
Gast #4043988
Lesenswert?

Florian N. schrieb:
> UTFT myGLCD(ILI9325C,38,39,40,41);

Hast Du mal in die UTFT.h geschaut? Dort gibt es mehrere Varianten des 
Displays. Vielleicht einfach mal durchprobieren.
Unter anderem auch das CTE28 als alternative.
dann also

UTFT myGLCD(CTE28,25,26,27,28);

Das CTE hat auch eine andere Pin Belegung.

Grüße aus dem Süden
Gast #4108353
Lesenswert?

Hallo Florian,

versuche doch einfach

UTFT myGLCD(ILI9325D_16,38,39,40,41);  //* für 16 Bit Ansteuerung

genaueres steht in der Tabelle Seite 3

UTFT_Supported_display_modules_&_controllers.pdf

UTouch myTouch(6,5,4,3,2); //* für SPI XPT2046 touch controller 
(SainSmart shield)

Anbei noch die Schemata vom DUE & Mega shield.

MfG
Angehängte Dateien:
Gast #4317366
Lesenswert?

Hallo Florian,

ich habe mir die Kombination
SainSmart MEGA2560 R3+5" LCD Touch Panel SD Card Slot + Shield Kit For 
Arduino
gekauft.
Eindach in der *.ino die TFT Initialisierung
UTFT myGLCD(ITDB50,38,39,40,41);
eintragen, schon funktioniert's :-)
Mir fehlt noch die UTouch Funktion .... aber das wird bestimmt noch.
Da die UTouch_Calibration funktioniert, bin ich bestimmt auf einem guten 
Weg.

Wenn das jemand schon hinbekommen hat, bin ich dankbar für den 
entscheidenden Tip :-)

Gruß
Alf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren