2.4 inch TFT touch LCD Screen Module For Arduino UNO R3 SD low price jocks

The st7783. I removed all other libraries. All with 1.0.5 IDE. With 1.5.7 beta it gives

Arduino:1.5.7 (Windows 7), Scheda:"Arduino Duemilanove or Diecimila, ATmega328"

C:\Users\Stez\Documents\Arduino\libraries\st7783\glcdfont.c:9:23: error: variable 'font' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
 static unsigned char  font[] PROGMEM = {
                       ^

  Questo report potrebbe essere più ricco
di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"

Not a problem for me, since it works with 1.0.5 8) but i point it out if someone else has troubles.

Is there a way to use Adafruit GFX functions instead of the one included in st7783? Need a way to use text with background option... St7783 has not that function, so i have to hide the old value that i want to overwrite manually. GFX has also other useful functions..

stez90: St7783 has not that function, so i have to hide the old value that i want to overwrite manually.

Could this be what you're looking for?

do something (ST7735_something colour, ST7735_background color);

tft.setTextColor(ST7735_YELLOW, ST7735_BLACK);
tft.setTextSize(2);
tft.println("Hello World!");

Wait. I was using the library attached to post #23, wich is different from the one attached to #13. The #13 is better and faster. And has the required function.

The problem is that #13 has no touchscreen bundled in, so you have to add the adafruit one.

Too much info in a single thread XD

So, as recap:

USE THE LIBRARY FROM POST #13 (http://www.smokeandwires.co.nz/blog/a-2-4-tft-touchscreen-shield-for-arduino/) USE ADAFRUIT_GFX (https://github.com/adafruit/Adafruit-GFX-Library) USE ADAFRUIT TOUCHSCREEN (https://github.com/adafruit/Touch-Screen-Library)

BUT

about "tftpaint" example: Don't know why, but the touch library bundled with st7783 (#23) works better than the adafruit one. The adafruit works good in the lower left corner of the screen, but lacks of speed in the other places and is completely orrible in the top right corner. The st7783 one is way better over all the screen. Unfortunately they are non compatible each other (Adafruit one is upgraded and some functions have different names).

So if you need a good touch then ADAFRUIT_GFX + st7783 (#23) is the way to go. And remember to remove adafruit touchscreen or it won't work.

MANY thanks to all contributors to this post !!! I'm searching how to get this display to work since 3 months, with no luck... And i just read that last post, erase all the crappy libraries I had, install those on the 3 links and... it work like a charm :) :)

so, again THANK YOU !

berni_:
It’s the hardware peripheral available on MEGA2560 micros, called “external memory interface”. The WR, RD, ALE pins are manages automatically, no need to set/clear these pins by program. It is designed for connecting more SRAM directly to the uC.
In the code, display memory is then addresses with pointers, exactly the same way as internal RAM. I have used that a long time ago to interface displays with 8051 micros; it should work here also.

Anyway, by using the latest Adafruit library, it is faster than before (~2x).

I’m looking at this just now (complete failure getting the code to run on a due!!)
Did you managed to check anything related to the subject?

Hi, I have that tft from a few days ago and am having problems with it ... When the coupling to the Arduino UNO, lights (all normal), but when I go to load the sample program "paint" or any of them, it shows nothing, it just stays lit. I tried the "touchscreen" and "Paint" program and open the ternimal coordinates and shows me when I play, but as I say, nothing appears ... I tried to delete all the libraries and leave only those taxes to use, so there were no problems with duplicate libraries, but does not work. Do you guys have any idea ?. Thank you.

McAndrew: Hi, I have that tft from a few days ago and am having problems with it ... When the coupling to the Arduino UNO, lights (all normal), but when I go to load the sample program "paint" or any of them, it shows nothing, it just stays lit. I tried the "touchscreen" and "Paint" program and open the ternimal coordinates and shows me when I play, but as I say, nothing appears ... I tried to delete all the libraries and leave only those taxes to use, so there were no problems with duplicate libraries, but does not work. Do you guys have any idea ?. Thank you.

Post a photo.

I have 3 and one is problematic (different controller) so this could be the case. What does the program report as the controller trough the serial port?

ok, Here is what appears on screen ...

Here what appears with touchscreen

With Graphictest

I have seen that in the serial monitor, LCD Driver chip appears: 7777. Can that be the problem that nothing appears in it?

That s the right identifier. S77xx Family.

Try the code attached below. Delete all the other libraries in use and report.

project14_Arduino_BMPviewer.zip (257 KB)

Thanks for trying to help me, but still not working... :~ The software version is 1.0.5-r2

Install a fresh 1.5 and try again. Use the version below, extract to a folder and run the arduino executable (You can simply delete the folder when you are having trouble with something and extract from the archive again).

http://downloads.arduino.cc/arduino-1.5.7-windows.zip

Technically it should work, if not maybe there is some sort of problem with the screen itself.

Definitely does not work ... I'll try to buy another screen tft and another arduino...

Now see this:

Arduino: 1.5.7 (Windows 7), Placa:"Arduino Uno" C:\Users\Andres\Downloads\arduino-1.5.7\libraries\TFTLCD\glcdfont.c:9:23: error: variable 'font' must be const in order to be put into read-only section by means of 'attribute((progmem))' static unsigned char font[] PROGMEM = {

I have to change something?

That TFT recommend me to buy?

Thank you.

Hum... Im getting that sort of errors myself on the new arduino. Try to download version 1.5.6 instead. Less buggy.

I quite like that particular TFT to be fair, Shame it didn't work out for you

Whatever you buy don't get anything with the ILI9327 Controller in 8 bit mode. I am yet to find a suitable library.

ILI9320, ILI9325, SSD1289 are all good candidates, just be aware that the chinese guys often mislabel them. I would be aware buying anything that says mcufriend.com - These displays are mostly sold with the wrong model and the seller wont be able to help you. This was an issue with this red TFTs a while ago.

to solve this particular issue, just add the "const" keyword to the function definition in glcdfont.c

you will got something like const uint_8 font[]=.......

It is the first time I work with the arduino platform and still do not understand very well ... How do I do that?

McAndrew: It is the first time I work with the arduino platform and still do not understand very well ... How do I do that?

How do you do what?

this...

bricofoy: to solve this particular issue, just add the "const" keyword to the function definition in glcdfont.c

you will got something like const uint_8 font[]=.......

McAndrew:
this…

bricofoy:
to solve this particular issue, just add the “const” keyword to the function definition in glcdfont.c

you will got something like const uint_8 font=…

You should have a field named “uint_8 font=… “and you add the word const to it:” const uint_8 font=…”

I haven’t used that particular one, so I am sure bricofoy can clarify if you still dont find it.

yes. the problem with 1.5 is they've changed some compilation option (or compiler version, I don't know) wich now causes the error above, and stops compiling. So as the error messages explain, the font[] variable must be declared as "cosnt", so the workaround is quite simple : go to the library folder, open the file named in the error message, and change the font declaration to meet the requirement.