Re: Algunos consejos para usar TFT´s [Secuestrado]

Buenas a todos.

LLevo como un año con arduino y he empezado recientemente a utilizar la pantalla que recomendaba TFTLCDCyg, en concreto una FT811CB.

He seguido el tutorial en pdf que publicó TFTLCDCyg, sin el cual no hubiera podido conectar con éxito la pantalla y he conseguido que se muestre texto en pantalla (aunque invertido).

El problema lo tengo con el lector de microSD, he comprado el lector recomendado en el tutorial pero no consigo hacerlo funcionar. Estoy intentando mostrar por la pantalla el set de iconos que se explicaba en la página 2 de este hilo, lo he creado correctamente, he seguido los pasos, el programa compila bien pero la pantalla se enciende pero queda en negro.

Estoy seguro que lo he conectado correctamente al puerto ICSP del mega y el SD_PIN está definido en el digital 5 como se indica en el tutorial.

El programa es el siguiente

#include <EEPROM.h>
#include <SPI.h>
#include <GD2.h>
#include <icons.h>
#define PDNPin 8 // PIN DONDE VA EL PIN_DN
void setup(){
pinMode(PDNPin, OUTPUT);
digitalWrite(PDNPin, HIGH); // INICIALMENTE EN ALTO
delay(20);
digitalWrite(PDNPin, LOW); // REALIZAMOS EL POR EN BAJO AL PIN PDN
delay(20); // ESPAREMOS 20 MICROSEGUNDOS (Data pone 5ms)
digitalWrite(PDNPin, HIGH); // LO VOLVEMOS A PONER EN ALTO
delay(20);
GD.begin(3);
GD.wr(REG_SWIZZLE, 0); // PARA NO INVERTIR EL ROJO POR AZUL DE LA PANTALLA
GD.wr(REG_ROTATE, 5); // Rotar la pantalla
LOAD_ASSETS();

}
void loop()
{
GD.Clear(); 
  GD.Begin(BITMAPS);
    GD.Vertex2ii(0, 0, 0);
    GD.Vertex2ii(0, 48, 1);
    GD.Vertex2ii(0, 96, 2);
    GD.Vertex2ii(0, 144, 3);
    GD.Vertex2ii(0, 192, 4);
    GD.Vertex2ii(60, 0, 5);
    GD.Vertex2ii(60, 48, 6);
    GD.Vertex2ii(60, 96, 7);
    GD.Vertex2ii(60, 144, 8);
    GD.Vertex2ii(60, 192, 9);
    GD.Vertex2ii(120, 0, 10);
    GD.Vertex2ii(120, 48, 11);
    GD.Vertex2ii(120, 96, 12);
    GD.Vertex2ii(120, 144, 13);
  GD.swap();
}

Como se indicaba, icons.gd2, que es el archivo que me creó el GD2asset está en la SD, aunque su tamaño (3Kb) ¿no es muy pequeño para albergar los 14 iconos?

Algo raro que he apreciado midiendo con el tester es que el pin del lector shield SD (3V3) en vacío mide bien los 3,3V pero con la tarjeta introducida mide 4,5V. No se si es normal o es mi tester de "los chinos".

Por favor a TFTLCDCyg en concreto o a todos en general, no se por dónde seguir, he probado dos tarjetas diferentes de 2gb, recien formateadas en fat32 y nada.

Un cordial saludo!

Para darte una mejor orientación, sube algunas fotos del cableado de tu pantalla. Hemos encontrado que la distancia del cableado debe estar entre 10 y 15 cm de largo; adicionalmente la firmeza de cada unión es importante.

Lo ideal sería que construyeras un shield para tu arduino MEGA usando alguna protoboard como estas

Con una interfaz construida con un shield podrías unir con hilos cortos tu pantalla con el arduino MEGA y tendrías disponibles todos los pines de tu arduino. La pantalla que tienes viene con un adaptador:

Con un par de tiras-hembra de 5 pines podrías armar el cabezal de conexión de 10 pines.

No tengo una pantalla como esas, las que he podido conseguir son de 3.3V (Riverdi y NHD), mi amigo ligthcalamar experimentó con pantallas como la tuya, que tienen lógica de 5V, le comentaré para que nos dé una mejor orientación.

Tal parece que el lector micro SD para arduino MEGA tendría que ser el clásico con lógica de 5V de catalex o similar, ya que los pequeños funcionan con lógica de 3.3V. En aquel entonces usé ese tipo de lector en arduino Due.

Muchas gracias TFTLCDCyg por tu rápida respuesta.

Me he equivocado, ya que mi mensaje iba dirigido a lightcalamar (hago referencia al tutorial en pdf que publicó él)

La pantalla me funciona correctamente, es el lector microsd el que no consigo hacer funcionar por más cortos que son los cables, la pantalla enciende pero se queda en negro.

El lector que uso es de 3V3 conectado a la salida 3V3 del mega

Sin ánimo de menospreciar tu ayuda a ver que puede aportar lightcalamar si tiene un momento.

Muchas gracias!