Algunos consejos para usar TFT´s

Espero que te sirva y te evites la pena de sumergirte en el lenguaje complejo de las librerías de FTDI. Creo que iremos al paso aprendiendo a usar la libreria.

Estoy usando el IDE 1.6.3, y creo que me quedaré en esa versión. No tengo la versión 154, pero tengo la 156-r2, la librería de gameduino 2 funciona sin problemas. Habrá que experimentar.

Respecto al cableado: CS, puede ser cualquier pin digital disponible, te recomiendo que sea 8, 9 o 10. Pero creo que se puede usar cualquier otro (habrá que experimentar con este punto).

Por cierto, la libreria para gameduino 2 tiene una particularidad que debo reiterar:

Por código, tiene transportada la señal SPI del conector del arduino Due, a los pines SPI correspondientes al arduino UNO, es decir que puedes conectar la señal SPI de cualquier pantalla FT80x, a los pìnes 11, 12 y 13.

Es por esto que se puede conectar el shield gameduino 2 directamente sobre un arduino Due, tal como se conecta en el arduino UNO, sin cableado conectado al conector SPI del arduino Due.

En el arduino MEGA hay que conectar los pines SPI a los pines correspondientes 11, 12 y 13, (creo que se podrían sustituir "los nombres de pila" de los puertos SPI del MEGA en lugar de los correspondientes del arduino Due) y con eso se consigue instalar el shield gameduino 2 directamente:

Puedes usar el cabezal SPI del arduino con otros dispositivos, como una pantalla Oled, ILI9341 o un lector micro SD adicional. Si los conectas a 11, 12, 13 pensando en usar "el porteo" o transferencia por código, se apaga la pantalla FT80x.

El único dispositivo SPI que ha funcionado sin afectar la pantalla, afortunadamente fue uno de los lectores microSD de 3V3, y con él es posible acceder a todo el potencial gráfico del FT801.

La longitud del cableado entre el arduino y la pantalla FT80x, debe estar entre 14 y 20 cm, mas allá de esa longitud la pantalla se apaga.

(Una queja "oculta")

Desafortunadamente conforme salen nuevos ide's, en lugar de mejorarlos, y corregir errores, empeoran la compatibilidad con las librerias que funcionan bien con versiones previas. Encima no ha habido una corrección de fondo que elimine esta "joyita", si usas y0 ("ye cero"), seguido de un y1 ("ye uno"), obtienes:

int y0, y1;
GD2_due_lecturas_5.ino:11:5: error: 'int y0' redeclared as different kind of symbol
In file included from C:\Users\StarX\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4\cores\arduino/Arduino.h:26:0,
                 from C:\Users\StarX\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4\variants\arduino_due_x/variant.h:36,
                 from C:\Users\StarX\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4\libraries\SPI/SPI.h:15,
                 from GD2_due_lecturas_5.ino:1:
c:\users\starx\appdata\roaming\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\math.h:468:15: error: previous declaration of 'double y0(double)'
 extern double y0 _PARAMS((double));
               ^
GD2_due_lecturas_5.ino:11:9: error: 'int y1' redeclared as different kind of symbol
In file included from C:\Users\StarX\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4\cores\arduino/Arduino.h:26:0,
                 from C:\Users\StarX\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4\variants\arduino_due_x/variant.h:36,
                 from C:\Users\StarX\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4\libraries\SPI/SPI.h:15,
                 from GD2_due_lecturas_5.ino:1:
c:\users\starx\appdata\roaming\arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1\arm-none-eabi\include\math.h:469:15: error: previous declaration of 'double y1(double)'
 extern double y1 _PARAMS((double));
               ^
Error compiling.

¿Es en serio?

La siguiente linea, (en lugar de la que describo):

int x0, x1

Compila sin problemas... quiero tener la mente abierta y que es un error mío al escribir "y0 y y1"...

Digo esto porque luego de ver "hello world" en la FT801, inmediatamente me puse a trabajar en el entorno del controlador, y zas!, a la primer compilación con "int y0, y1", saltó el error que refiero.

Solo por seguir con el ejercicio, el IDE 1.5.6-r2, da este error:

int y0, y1;
sketch_jun21a:2: error: 'int y0' redeclared as different kind of symbol
c:\arduino-1.5.6-r2\hardware\tools\g++_arm_none_eabi\bin\../lib/gcc/arm-none-eabi/4.4.1/include-fixed/math.h:364: error: previous declaration of 'double y0(double)'
sketch_jun21a:2: error: 'int y1' redeclared as different kind of symbol
c:\arduino-1.5.6-r2\hardware\tools\g++_arm_none_eabi\bin\../lib/gcc/arm-none-eabi/4.4.1/include-fixed/math.h:365: error: previous declaration of 'double y1(double)'

:o :o :o :o

Luego de esta "pecata minuta", mejor usaré

int y00, y01;

y todos felices!

A estas alturas, espero que ya veas el ejemplo hello world. Sube algunas fotos de tu pantalla FT, para curiosear los avances, sería bueno ver que los esfuerzos los puede replicar alguien más, ayudaría bastante en la retroalimentación, nunca está demás una vuelta de timón hacia la dirección correcta.