Hola querida comunidad, por favor me pueden ayudar, estoy lidiando con una pantalla TFT ILI9488 y un ESP32-S3. Quiero mostrar textos y animaciones (no touch) pero no se que estoy haciendo mal que no se muestra nada, la pantalla solo logra encender un poquito (3%). Es la primera vez que trabajo con esta pantalla, ayúdenme por favor ![]()
. Estas son las conexiones:
- VDD - 3.3V
- GND - GND
- CS - GPIO 10
- RST - GPIO 4
- DC - GPIO 2
- SDI(MOSI) - GPIO 11
- SCK - GPIO 12
- LED - 3.3V
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI();
// Colores bonitos
#define TFT_BLACK 0x0000
#define TFT_WHITE 0xFFFF
#define TFT_RED 0xF800
#define TFT_GREEN 0x07E0
#define TFT_BLUE 0x001F
#define TFT_CYAN 0x07FF
#define TFT_MAGENTA 0xF81F
#define TFT_YELLOW 0xFFE0
#define TFT_ORANGE 0xFD20
void setup() {
Serial.begin(115200);
Serial.println("INICIANDO SERVIDOR");
// Backlight
pinMode(3, OUTPUT);
digitalWrite(3, HIGH); // backlight al 100%
// Inicializar pantalla
tft.init();
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
// === Mensaje de Bienvenida ===
tft.setTextColor(TFT_CYAN, TFT_BLACK);
tft.setTextSize(3);
tft.setCursor(40, 60);
tft.println("Bienvenido!");
tft.setTextColor(TFT_YELLOW, TFT_BLACK);
tft.setTextSize(2);
tft.setCursor(30, 110);
tft.println("ESP32-S3 + ILI9488");
tft.setTextColor(TFT_GREEN, TFT_BLACK);
tft.setTextSize(2);
tft.setCursor(80, 150);
tft.println("by Holaaaaa");
delay(2500);
// Animación de limpieza
for (int i = 0; i < 5; i++) {
tft.fillScreen(TFT_BLACK);
delay(80);
tft.fillScreen(TFT_BLUE);
delay(80);
}
tft.fillScreen(TFT_BLACK);
mostrarHolaMundo();
}
void loop() {
// Animación continua
static uint16_t color = TFT_RED;
tft.setTextColor(color, TFT_BLACK);
tft.setTextSize(4);
tft.setCursor(50, 100);
tft.println("HOLA");
tft.setTextSize(4);
tft.setCursor(70, 160);
tft.println("MUNDO");
// Cambia de color
color += 0x1234;
delay(800);
}
void mostrarHolaMundo() {
tft.fillScreen(TFT_BLACK);
for (int i = 0; i < 8; i++) {
tft.setTextColor(random(0xFFFF), TFT_BLACK);
tft.setTextSize(5);
tft.setCursor(45 + random(-10, 10), 90);
tft.print("HOLA");
tft.setTextSize(4);
tft.setCursor(65 + random(-10, 10), 160);
tft.print("MUNDO");
delay(300);
}
tft.fillScreen(TFT_BLACK);
}

