Hola , muy bueno tu aporte. estoy teniendo problemas por que la pantalla está en blanco. EL programa es el siguiente, lo tomé de tu ejemplo TFT_Menu. El driver al parecer es ILI9341. ya no se que hacer he intentado de todo. es una pantalla tft con sd de 2.2" de 240x320.
#include "Adafruit_GFX.h"
#include "Adafruit_TFTLCD.h"
#include "SD.h"
#include "SPI.h"
#include "TouchScreen.h"
#define YP A1
#define XM A2
#define YM 7
#define XP 6
//Rotacion 3
short TS_MINX = 68; // Controla el final de eje X del lado derecho en rotacion 3
#define TS_MAXX 950 //Controla el inicio de eje X del lado izquierdo en rotacion 3 // no contenpla los botones prediseñados 1-318
short TS_MINY = 170; // inicio Eje Y
#define TS_MAXY 890 // fin Eje Y
//Rotacion 3
#define MINPRESSURE 1
#define MAXPRESSURE 1000
// Instancia del panel tactil (Pin XP, YP, XM, YM, Resistencia del panel)
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 364);
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
#if defined __AVR_ATmega2560__
#define SD_SCK 13
#define SD_MISO 12
#define SD_MOSI 11
#endif
#define SD_CS 10
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, A4);
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
uint16_t color;
int X, Y, Z;
int deltaTactil = 10 ; //ajuste tactil-x en botones de diseño, por el uso de iconos prediseñados la tactil es unos 10/12 px mas grande que el TFT
char imagesOnSDCard1[8][30]={"Foff.bmp","Fon.bmp","6oB.bmp","6oH.bmp","6oI.bmp","ico9.bmp","ico7.bmp","La1.bmp"};
unsigned char imagenSD1 = 1;
char TX[50];
//iconos prediseñados
///////acá yo los saque a propósito por que no los uso. aparte me daba error por que me decía que el programa era muy largo y me excedía de la capacidad, estoy usando Android 1.8.7
void setup()
{
tft.reset();
tft.begin(0x9325);
tft.fillScreen(0);
Serial.begin(9600);
#if defined __AVR_ATmega2560__
if (!SD.begin(SD_CS, SD_MOSI, SD_MISO, SD_SCK ))
{
tft.println(F("failed!"));
return;
}
#else
if (!SD.begin(SD_CS)) {
tft.println(F("failed!"));
return;
}
#endif
tft.setRotation(3);
//MenuP();
}
void loop(){
delay(1000);
bmpDraw("6oB.bmp",140,220);
delay(2000);
bmpDraw("6oH.bmp",170,220); }