3.2 TFT problem

Hello everyone

I'm probably one more in a series that has the same problem with 3.2 tft from ebay

I bought an identical TFT with eBay ... 3.2'' SSD1289.

http://www.ebay.com/itm/1PCS-3-2-TFT-LCD-Module-Display-Touch-Panel-PCB-adapter-/261096794843?pt=LH_DefaultDomain_0&hash=item3cca94eadb

I DID NOT bought a sheild, I tried to connect it , how I found on forum ; directly WIRES with Arduino Mega 2560 and I tried a couple of times, each time tft display is white and nothing happens.

Last time I connected only wire screen without touch and sd card .. as attached.

TFT -> Mega
LEDA -> 5V
VCC -> 5V
RD -> 3.3V
GND -> GND
DB0..DB7 -> pin D37->D30
DB8..DB15 -> pin D22->D29
RS -> D38
WR -> D39
CS(pin6) -> D40
RSET -> D41

..and nothing

Do I have to bou8ght a shield for this TFT?
I do not know where I am making a mistake? I have put UTFT library through the program and let more demo codes and notthing happens...
I could use a little help? Am I supposed to put a jumper somewhere? Or am making a mistake when connecting? Forgetting something???
If one is willing to explain the steps that I've already done, I may have something anticipated or I did. Power is supplied via USB if it's important.

While waiting for an answer I'm going to once again connect all over again
tnx

You should have received the adapter too. You should have the LCD module, touch panel, and PCB adapter. If you did not get the adapter, contact your seller.

Maybe you misunderstood me, I bought the same as in the link. The adapter is part of the blue tiles below LCDs or I should get something separate? If you can picture how pcb adapter looks? :slight_smile:

Hello and welcome :slight_smile:

This is the adapter shield, that normally goes between your display and the Arduino:

So, your connections looks right, but CS is pin 15 not pin 6, and LEDA should be wired on 3.3V.

Maybe the problem is in your code, so post it :slight_smile:

that's right. connected as you wrote.

this is exactly what I got.

I have import UTFT library...
This is a program code (arduino examples code):

#include <UTFT.h>

// Declare which fonts we will be using
extern uint8_t SmallFont[];

// Uncomment the next line for Arduino 2009/Uno
//UTFT myGLCD(ITDB32S,19,18,17,16); // Remember to change the model parameter to suit your display module!

// Uncomment the next line for Arduino Mega
UTFT myGLCD(ITDB32S,38,39,40,41); // Remember to change the model parameter to suit your display module!

void setup()
{
randomSeed(analogRead(0));

// Setup the LCD
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
}

void loop()
{
int buf[318];
int x, x2;
int y, y2;
int r;

// Clear the screen and draw the frame
myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);
myGLCD.fillRect(0, 0, 319, 13);
myGLCD.setColor(64, 64, 64);
myGLCD.fillRect(0, 226, 319, 239);
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(255, 0, 0);
myGLCD.print("* Universal Color TFT Display Library *", CENTER, 1);
myGLCD.setBackColor(64, 64, 64);
myGLCD.setColor(255,255,0);
myGLCD.print("http://electronics.henningkarlsen.com", CENTER, 227);

myGLCD.setColor(0, 0, 255);
myGLCD.drawRect(0, 14, 319, 225);

// Draw crosshairs
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.drawLine(159, 15, 159, 224);
myGLCD.drawLine(1, 119, 318, 119);
for (int i=9; i<310; i+=10)
myGLCD.drawLine(i, 117, i, 121);
for (int i=19; i<220; i+=10)
myGLCD.drawLine(157, i, 161, i);

// Draw sin-, cos- and tan-lines
myGLCD.setColor(0,255,255);
myGLCD.print("Sin", 5, 15);
for (int i=1; i<318; i++)
{
myGLCD.drawPixel(i,119+(sin(((i*1.13)*3.14)/180)*95));
}

myGLCD.setColor(255,0,0);
myGLCD.print("Cos", 5, 27);
for (int i=1; i<318; i++)
{
myGLCD.drawPixel(i,119+(cos(((i*1.13)*3.14)/180)*95));
}

myGLCD.setColor(255,255,0);
myGLCD.print("Tan", 5, 39);
for (int i=1; i<318; i++)
{
myGLCD.drawPixel(i,119+(tan(((i*1.13)*3.14)/180)));
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.drawLine(159, 15, 159, 224);
myGLCD.drawLine(1, 119, 318, 119);

// Draw a moving sinewave
x=1;
for (int i=1; i<(31820); i++)
{
x++;
if (x==319)
x=1;
if (i>319)
{
if ((x==159)||(buf[x-1]==119))
myGLCD.setColor(0,0,255);
else
myGLCD.setColor(0,0,0);
myGLCD.drawPixel(x,buf[x-1]);
}
myGLCD.setColor(0,255,255);
y=119+(sin(((i
1.1)3.14)/180)(90-(i / 100)));
myGLCD.drawPixel(x,y);
buf[x-1]=y;
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

// Draw some filled rectangles
for (int i=1; i<6; i++)
{
switch (i)
{
case 1:
myGLCD.setColor(255,0,255);
break;
case 2:
myGLCD.setColor(255,0,0);
break;
case 3:
myGLCD.setColor(0,255,0);
break;
case 4:
myGLCD.setColor(0,0,255);
break;
case 5:
myGLCD.setColor(255,255,0);
break;
}
myGLCD.fillRect(70+(i20), 30+(i20), 130+(i20), 90+(i20));
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

// Draw some filled, rounded rectangles
for (int i=1; i<6; i++)
{
switch (i)
{
case 1:
myGLCD.setColor(255,0,255);
break;
case 2:
myGLCD.setColor(255,0,0);
break;
case 3:
myGLCD.setColor(0,255,0);
break;
case 4:
myGLCD.setColor(0,0,255);
break;
case 5:
myGLCD.setColor(255,255,0);
break;
}
myGLCD.fillRoundRect(190-(i20), 30+(i20), 250-(i20), 90+(i20));
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

// Draw some filled circles
for (int i=1; i<6; i++)
{
switch (i)
{
case 1:
myGLCD.setColor(255,0,255);
break;
case 2:
myGLCD.setColor(255,0,0);
break;
case 3:
myGLCD.setColor(0,255,0);
break;
case 4:
myGLCD.setColor(0,0,255);
break;
case 5:
myGLCD.setColor(255,255,0);
break;
}
myGLCD.fillCircle(100+(i20),60+(i20), 30);
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

// Draw some lines in a pattern
myGLCD.setColor (255,0,0);
for (int i=15; i<224; i+=5)
{
myGLCD.drawLine(1, i, (i1.44)-10, 224);
}
myGLCD.setColor (255,0,0);
for (int i=224; i>15; i-=5)
{
myGLCD.drawLine(318, i, (i
1.44)-11, 15);
}
myGLCD.setColor (0,255,255);
for (int i=224; i>15; i-=5)
{
myGLCD.drawLine(1, i, 331-(i1.44), 15);
}
myGLCD.setColor (0,255,255);
for (int i=15; i<224; i+=5)
{
myGLCD.drawLine(318, i, 330-(i
1.44), 224);
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,225);

// Draw some random circles
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=32+random(256);
y=45+random(146);
r=random(30);
myGLCD.drawCircle(x, y, r);
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

// Draw some random rectangles
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=2+random(316);
y=16+random(207);
x2=2+random(316);
y2=16+random(207);
myGLCD.drawRect(x, y, x2, y2);
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

// Draw some random rounded rectangles
for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=2+random(316);
y=16+random(207);
x2=2+random(316);
y2=16+random(207);
myGLCD.drawRoundRect(x, y, x2, y2);
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

for (int i=0; i<100; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
x=2+random(316);
y=16+random(209);
x2=2+random(316);
y2=16+random(209);
myGLCD.drawLine(x, y, x2, y2);
}

delay(2000);

myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,318,224);

for (int i=0; i<10000; i++)
{
myGLCD.setColor(random(255), random(255), random(255));
myGLCD.drawPixel(2+random(316), 16+random(209));
}

delay(2000);

myGLCD.fillScr(0, 0, 255);
myGLCD.setColor(255, 0, 0);
myGLCD.fillRoundRect(80, 70, 239, 169);

myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(255, 0, 0);
myGLCD.print("That's it!", CENTER, 93);
myGLCD.print("Restarting in a", CENTER, 119);
myGLCD.print("few seconds...", CENTER, 132);

myGLCD.setColor(0, 255, 0);
myGLCD.setBackColor(0, 0, 255);
myGLCD.print("Runtime: (msecs)", CENTER, 210);
myGLCD.printNumI(millis(), CENTER, 225);

delay (10000);
}

U by this: http://arduino-ua.com/prod196-32_TFT_LCD_Screen_modyl

now u need that, at half price of above item:
http://arduino-ua.com/prod197-ITDB02_Shield_v13_perehodnik_dlya_TFT
http://arduino-ua.com/prod363-ITDB02_Shield_Mega-perehodnik_dlya_TFT

U want this (i by this)
http://arduino-ua.com/prod199-32_TFT_LCD_Touch_shield

and i need that
http://arduino-ua.com/prod177-Pechatnaya_plata_dlya_shield_pod_Arduino_Mega with thruhole connectorrs like this Ардуино, Raspberry-pi | платы и комплектующие купить, цены, файлы, уроки

also can help u with GUI

Hello, did youy finally find a solution to use the tft without using a shield?

Hi, i have the same tft from the same vendor. I have the same problem, White screen. Sometimes i can see the demo in loop,,, but if i reset or i load again the sketch,, white screen appears again..
so try it -> load sketch and put SSD1289 as driver,,, -> white screen -> disconnect arduino for 1 minute -> connect again -> then sometimes i can see the demo, sometimes no...

if u know how to fix this white screen problems pls contact me, thanks

The TFT requires 3V3 and the Arduino supplies 5V. This is the basis of your issues.. I would not connect the TFT to 5V it WILL DAMAGE IT, PERMANENTLY. A common method of interfacing TFT devices is a series 20K resistor in each signal line and you might need a better 3V3 source than the Arduino is capable of. The best method is an active shield with semiconductors for level shifting.

Doc

hi Doc, thanks for your fast reply.
I put all on 3v with 20k resistor,,, it works fine, but after a 20-25seconds the screen go white... you think my lcd is damaged?? im using the utft demo with ssd driver (UTFT myGLCD(SSD1289,38,39,40,41))

thanks