Este es un módulo LCD TFT redondo de 1,28 pulgadas con el controlador GC9A01 y una resolución de 240x240 píxeles. Normalmente funciona mediante una interfaz SPI y utiliza pines de control como CS (chip select) y DC (data/command), además de RST (reset) y alimentación (VCC/GND).
| Pin | Señal | Descripción |
|---|---|---|
RST |
reset | Active-low hardware reset input for the GC9A01 display controller. |
CS |
chip-select | SPI chip-select input for the display, typically active low. |
DC |
digital | Data/command select input; sets whether SPI bytes are commands or pixel data. |
SDA |
MOSI | SPI data input to the display controller, equivalent to MOSI. |
SCL |
SCK | SPI serial clock input for transferring commands and display data. |
GND |
ground | Ground reference for power and SPI logic signals. |
VCC |
power | Power supply input for the TFT LCD module. |
| Desde | Hasta | Cable |
|---|---|---|
board:3V3 |
x1:VCC |
darkorange |
board:GND |
x1:GND |
black |
board:D18 |
x1:SCL |
green |
board:D23 |
x1:SDA |
blue |
board:D27 |
x1:DC |
yellow |
board:D5 |
x1:CS |
purple |
board:D4 |
x1:RST |
cyan |
Este ejemplo se escribió y verificó por compilación para esp32-devkit-v1. Codey Online lo adapta a cualquier otra placa compatible.
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_GC9A01A.h>
#define TFT_CS 5
#define TFT_DC 27
#define TFT_RST 4
Adafruit_GC9A01A tft(TFT_CS, TFT_DC, TFT_RST);
void drawHomeScreen() {
tft.fillScreen(GC9A01A_BLACK);
// Simple beginner-friendly demo graphics
tft.fillCircle(120, 120, 102, GC9A01A_BLUE);
tft.fillCircle(120, 120, 78, GC9A01A_BLACK);
tft.drawCircle(120, 120, 110, GC9A01A_WHITE);
tft.setTextColor(GC9A01A_WHITE);
tft.setTextSize(2);
tft.setCursor(60, 88);
tft.println("GC9A01");
tft.setCursor(36, 116);
tft.println("Round TFT");
tft.setCursor(34, 144);
tft.println("ESP32 SPI");
}
void setup() {
Serial.begin(115200);
delay(200);
Serial.println("Starting GC9A01 display demo...");
// This library version uses initSPI(), not init()
tft.initSPI();
tft.setRotation(0);
drawHomeScreen();
Serial.println("Display initialized.");
}
void loop() {
static bool shown = true;
static uint32_t lastChange = 0;
if (millis() - lastChange >= 1000) {
lastChange = millis();
shown = !shown;
if (shown) {
drawHomeScreen();
tft.setTextColor(GC9A01A_YELLOW, GC9A01A_BLACK);
tft.setCursor(74, 170);
tft.println("ON");
Serial.println("Screen: ON");
} else {
tft.fillRect(0, 160, 240, 40, GC9A01A_BLACK);
tft.drawCircle(120, 120, 110, GC9A01A_RED);
Serial.println("Screen: OFF highlight");
}
}
}
Describe lo que quieres construir. Codey Online escribe el codigo, dibuja el esquema de conexiones, lo compila y graba tu placa directamente desde el navegador.
Empieza gratis