ESP32 com Display TFT ST7735 – Tutorial de Ligação SPI (SDA, CLK, CS)


Diagrama de ligação do ESP32 com display TFT ST7735 utilizando comunicação SPI com os pinos SDA MOSI CLK SCK e CS

Neste tutorial vamos aprender como conectar um display TFT ST7735 no ESP32 usando comunicação SPI, utilizando os pinos SDA, CLK e CS para enviar dados ao display.


Os displays TFT ST7735 são muito populares em projetos com ESP32, Arduino e outros microcontroladores.

Eles utilizam comunicação SPI, que permite enviar dados rapidamente para o display usando poucos fios.

Neste artigo estilo RodRobot, vamos entender:

  • O que significa cada pino do display

  • Como eles funcionam no ESP32

  • Como o microcontrolador envia comandos e pixels

  • Um código completo de exemplo


Como o ESP32 controla o Display

O display ST7735 recebe informações do ESP32 através do protocolo SPI (Serial Peripheral Interface).

Diagrama de ligação do ESP32 com display TFT ST7735 utilizando comunicação SPI com os pinos SDA MOSI CLK SCK e CS

Comunicação SPI (Serial Peripheral Interface)

A comunicação SPI é um protocolo usado para trocar dados entre um microcontrolador e dispositivos periféricos como displays, sensores e memórias.
No caso do ESP32 com o display ST7735, o SPI permite enviar comandos e pixels rapidamente para o display.

Nesse tipo de comunicação existem quatro sinais principais.

  • MOSI → envia dados para o display.

  • SCK → relógio que sincroniza a comunicação.

  • CS → seleciona qual dispositivo está sendo usado.

  • DC/RS →  (Data ou Command).

Além disso, o display precisa de pinos extras para reset e seleção de comando/dado.

Vantagens do SPI

  • Comunicação muito rápida

  • Usa poucos fios

  • Permite vários dispositivos no mesmo barramento

Por isso o SPI é muito usado em projetos com:

  • ESP32

  • Arduino

  • Displays TFT

  • Sensores

  • Memórias EEPROM


Função de Cada Pino do Display

VCC

Função: Alimentação do display.

  • Deve ser ligado ao 3.3V do ESP32

  • Alimenta o controlador gráfico ST7735

📌 Sem alimentação o display não funciona.


GND

Função: Terra do circuito.

  • Deve ser ligado ao GND do ESP32

  • Completa o circuito elétrico.


SDA (MOSI)

Significado:
SDA neste display significa Serial Data, mas no SPI ele corresponde ao MOSI.

📌 MOSI = Master Out Slave In

Ou seja:

  • Master (ESP32) envia dados

  • Slave (Display) recebe dados

Exemplo no ESP32:

GPIO 23 → MOSI

Por esse pino passam:

  • pixels

  • textos

  • comandos gráficos


CLK (SCK)

Significado:
Clock da comunicação SPI.

Exemplo no ESP32:

GPIO 18 → SCK

Função:

  • sincronizar os bits enviados

  • cada pulso do clock envia 1 bit

Sem o clock o display não consegue interpretar os dados.


CS (Chip Select)

Significado:
Seleciona qual dispositivo SPI está ativo.

Exemplo no ESP32:

GPIO 5 → CS

Funcionamento:

CS LOW → display ativo
CS HIGH → display ignorando dados

Isso permite usar vários dispositivos SPI no mesmo barramento.


RS (DC – Data / Command)

Este pino é muito importante.

Ele define se o ESP32 está enviando:

  • Comando

  • Dados

Funcionamento:

RS LOW → comando
RS HIGH → dados

Exemplo:

RS LOW → comando limpar tela
RS HIGH → enviar pixels

Exemplo no ESP32:

GPIO 2 → RS

RST (Reset)

Função:

Reiniciar o controlador do display.

Exemplo no ESP32:

GPIO 4 → RST

Quando o ESP32 inicia ele envia um pulso:

LOW → HIGH

Isso coloca o display em estado inicial.


Ligação do ST7735 no ESP32

DisplayESP32
VCC3.3V
GNDGND
SDAGPIO23
CLKGPIO18
CSGPIO5
RSGPIO2
RSTGPIO4

Diagrama de ligação do ESP32 com display TFT ST7735 utilizando comunicação SPI com os pinos SDA MOSI CLK SCK e CS


Como o ESP32 envia uma imagem

O processo acontece assim:

1️⃣ ESP32 ativa o display

CS = LOW

2️⃣ Define se é comando ou dado

RS = LOW → comando
RS = HIGH → dados

3️⃣ Envia bits pelo MOSI

4️⃣ Cada bit é sincronizado pelo clock SCK

5️⃣ O display interpreta os dados e atualiza os pixels

Diagrama de ligação do ESP32 com display TFT ST7735 utilizando comunicação SPI com os pinos SDA MOSI CLK SCK e CS



Código Exemplo ESP32 + ST7735

Biblioteca necessária:

Instalar no Gerenciador de Bibliotecas da IDE Arduino.

👉 Confira aqui no Blog ESP32 -Instalação na Arduino IDE 2.3.8 usando o Gerenciador de Placas.




#include <Adafruit_GFX.h> // Biblioteca gráfica #include <Adafruit_ST7735.h> // Biblioteca do display ST7735 #include <SPI.h> // Comunicação SPI // Definição dos pinos do display #define TFT_CS 5 #define TFT_RST 4 #define TFT_DC 2 // Inicializa o display Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); void setup() { tft.initR(INITR_BLACKTAB); // Inicializa o display tft.setRotation(3); // Rotaciona display tft.fillScreen(ST77XX_BLACK); // Fundo preto tft.setTextSize(2); // Tamanho do texto // Linha 1 tft.setTextColor(ST77XX_WHITE); // Cor branca tft.setCursor(10,10); tft.println("ESP32"); // Linha 2 tft.setTextColor(ST77XX_YELLOW); // Cor amarela tft.setCursor(10,35); tft.println("Pino SDA"); // Linha 3 tft.setTextColor(ST77XX_BLUE); // Cor azul tft.setCursor(10,60); tft.println("Pino CLK"); // Linha 4 tft.setTextColor(ST77XX_GREEN); // Cor verde tft.setCursor(10,85); tft.println("Pino CS"); } void loop() { }


Mais códigos deste projeto em:
👉  https://github.com/RodRobot/

O que este código faz

1️⃣ Inicializa o display
2️⃣ Limpa a tela
3️⃣ Define tamanho do texto
4️⃣ Escreve ESP32, Pino CLK, Pino CS.


Resultado

Quando o ESP32 iniciar o display mostrará:

ESP32
Pino CLK
Pino CS

Conclusão

A comunicação SPI (Serial Peripheral Interface) é um método simples e muito rápido para trocar dados entre o ESP32 e dispositivos periféricos como o display ST7735. Utilizando poucos pinos — como SDA (dados), CLK (clock) e CS (seleção do dispositivo) — o microcontrolador consegue enviar comandos e informações que permitem controlar totalmente o funcionamento do display. Graças à velocidade e eficiência do protocolo SPI, é possível mostrar textos, gráficos e interfaces visuais no display TFT de forma rápida e confiável. Por esse motivo, a comunicação SPI é amplamente utilizada em projetos com microcontroladores, sensores e módulos gráficos, sendo uma das interfaces mais importantes no desenvolvimento de projetos eletrônicos e sistemas embarcados.


🔧 Acompanhe o RodRobot

Projetos maker com ESP32, Arduino, eletrônica e programação.

RodRobot – Projetos maker, eletrônica e programação na prática.

Comentários

Postagens mais visitadas deste blog

ESP32 Botão Touch: Como Usar o Sensor Touch (Tutorial com LED e Relé)

ESP32 para Iniciantes: Projeto LED Piscando Passo a Passo