I am trying to use a 2.8" TFT Touch screen and have been having fits. I am trying to interface the TFT with my Arduino UNO so I’m just pluging it directly into the Arduino with no other wiring. I have followed the tutorial for installing libraries including uncommenting the define statement in the TFT header file and all I get is a white screen. I tried older versions of the library as well as alternate libraries with no success. I also read through several forum discussions and have tried all of the recommended solutions but the screen still comes up white. Is there any real solution to this recurring issue?
Here is the serial output when I run the GraphicsTest sketch. It looks similar to what many others are seeing.
TFT LCD test
Using Adafruit 2.8" TFT Arduino Shield Pinout
Unknown LCD driver chip: 0
If using the Adafruit 2.8" TFT Arduino shield, the line:
#define USE_ADAFRUIT_SHIELD_PINOUT
should appear in the library header (Adafruit_TFT.h).
If using the breakout board, it should NOT be #defined!
Also if using the breakout, double-check that all wiring
matches the tutorial.tstattel
You appear to be using the Adafruit library for your Seeedstudio version 1 LCD shield. This shield was, and may still be, available from Radio Shack. The Adafruit library is not for this shield, whose controller IC for the display is an ST7781R, whereas the Adafruit library is looking for an IL93xx series or Hx8347G. This is why you get the ‘Unknown LCD driver chip:0’ error when running the Adafruit GraphicsTest sketch.
You need the library found here: http://www.seeedstudio.com/wiki/File:TFT_Touch_Shield_libraries.zip
Included with the libraries are examples for the version 1 LCD shield.
Regards,
John
That was the very first thing I tried when I got the TFT display. I set up the library “TFT” as instructed but none of the example programs provided in the link will compile. I just get a slew of errors and I have no idea how to correct them. Here, for example, are the errors I get when I try to compile the example “TFTEtchASketch” file provided in the download.
TFTEtchASketch:30: error: no matching function for call to ‘TFT::TFT(int, int, int)’
C:\Users\Richard\Documents\Arduino\libraries\TFT/TFT.h:133: note: candidates are: TFT::TFT()
C:\Users\Richard\Documents\Arduino\libraries\TFT/TFT.h:133: note: TFT::TFT(const TFT&)
TFTEtchASketch:33: error: ‘class TFT’ has no member named ‘width’
TFTEtchASketch:34: error: ‘class TFT’ has no member named ‘height’
TFTEtchASketch.ino: In function ‘void setup()’:
TFTEtchASketch:43: error: ‘class TFT’ has no member named ‘begin’
TFTEtchASketch:45: error: ‘class TFT’ has no member named ‘background’
TFTEtchASketch.ino: In function ‘void loop()’:
TFTEtchASketch:75: error: ‘class TFT’ has no member named ‘stroke’
TFTEtchASketch:76: error: ‘class TFT’ has no member named ‘point’
TFTEtchASketch:80: error: ‘class TFT’ has no member named ‘background’
It appears to me that the library in the link you provided may be for a newer version of the TFT display. Is it possible to obtain an older library for the V1.0 TFT that might work for my display?
You also wrote that there were examples “for the verson 1 shield.” Though I have tried all of the examples and none of them will compile, is there any way of knowing which of the provided examples are for the version 1 shield?
I really don’t think that the hardware is faulty. I strongly suspect that the problem can be fixed with a software solution.
Richard,
I don’t know how I did it, because I was sure I verified I posted the correct link to the files you need, but I just clicked the link and it fails.
This (take 2!) is the link to get the libraries and example files for your V1 LCD, which I’m assuming you got from Radio Shack. I just clicked it and it downloads the correct files to my desktop.
http://www.seeedstudio.com/wiki/images/5/53/TFT_Touch_Shield_libraries.zip
In your previous post you mention an etch-a-sketch sketch. I have no idea where that came from.
PM me if you want as I don’t always get here.
Regards,
John
Richard,
I just searched for the TFTEtchASketch; it’s for use with the Arduino LCD which uses a different controller (ST7735) whereas your controller, as I mentioned before, is an ST7781R. Apples and oranges…
John
OK, I followed your link and it downloaded a library named “TFT” with exactly the same file name and file size as the one you pointed me to earlier. So I overwrote the library and the new library in called TFT and it has sub directories “.GIT” & “Examples”. The examples appear to be the same ones as before and when I try to compile, they still give me a slew of errors. Here are the compile errors I get when I try to compile the Drawcircle sketch.
C:\Users\Richard\Documents\Arduino\libraries\TouchScreen\TouchScreen2.cpp:29: error: prototype for ‘boolean Point::operator==(Point)’ does not match any in class ‘Point’
C:\Users\Richard\Documents\Arduino\libraries\TouchScreen/TouchScreen.h:11: error: candidate is: bool Point::operator==(Point)
C:\Users\Richard\Documents\Arduino\libraries\TouchScreen\TouchScreen2.cpp:33: error: prototype for ‘boolean Point::operator!=(Point)’ does not match any in class ‘Point’
C:\Users\Richard\Documents\Arduino\libraries\TouchScreen/TouchScreen.h:12: error: candidate is: bool Point::operator!=(Point)
I don’t seem to be getting anywhere with this. Please help.
Richard
I finally succeeded! I had to reinstall the “TouchScreen” library and delete all the others that I had tried. Once I did that, the examples in the TFT folder started working.
Thanks for your help.
Sincerely,
Richard
Richard,
That’s great news!
I’m glad you let the forum users know how you solved the errors. So often people get help, then never return to let anyone know if the suggestions actually worked, leaving everyone in the dark.
Regards,
John
Those libraries are compatible with TFT v1 which can work well with Arduino. But if you download other libraries from other websites, it can’t be compatible with TFT normally except modifying those.
Good luck
Jacket
libraries.zip (28.3 KB)