ESP32 - Display de 7 Segmentos de 4 Dígitos com 74HC595
Neste projeto, vamos usar um ESP32 para controlar um módulo display de 7 segmentos de 4 dígitos com um registrador de deslocamento 74HC595. O ESP32 oferece Wi-Fi, Bluetooth, dois núcleos e uma boa quantidade de pinos GPIO - o que o torna ideal para projetos de IoT que precisam de um display local.
O que vamos construir:
- Ligar o módulo display 74HC595 ao ESP32.
- Mostrar números inteiros e números de ponto flutuante.
- Mostrar texto e temperatura com o símbolo de grau.
- Exibir a hora no formato HH.MM com um separador piscando.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Display de 7 Segmentos de 4 Dígitos 74HC595 em Detalhes
Este módulo coloca quatro dígitos de 7 segmentos atrás de um registrador de deslocamento 74HC595. Três linhas de dados (SCLK, RCLK, DIO) transportam os sinais de clock serial, de latch e de dados. O registrador de deslocamento converte a entrada serial em saída paralela para os segmentos de LED. A biblioteca faz a multiplexação de cada dígito a cerca de 125 Hz, criando uma exibição estável.
| Função | Pino | Descrição |
|---|---|---|
| SCLK (SH_CP) | Clock Serial | Envia os bits de dados para o registrador a cada pulso de clock |
| RCLK (ST_CP) | Clock do Registrador | Trava (latch) os dados deslocados nas saídas |
| DIO (DS) | Entrada de Dados | Linha de dados serial |
| VCC | Alimentação | 3.3V ou 5V |
| GND | Terra | Terra comum |
Diagrama de Ligação
Conecte o módulo display ao ESP32:
- SCLK ao GPIO18
- RCLK ao GPIO17
- DIO ao GPIO16
- VCC ao 3.3V
- GND ao GND

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Instalação da Biblioteca
- Conecte a placa ESP32 ao seu computador com um cabo USB.
- Abra a Arduino IDE e selecione ESP32 Dev Module como placa. Escolha a porta correta.
- Clique no ícone Libraries na barra lateral esquerda.
- Pesquise "DIYables_4Digit7Segment_74HC595" e encontre a biblioteca da DIYables.
- Clique em Install. Selecione a versão 2.0.0 ou mais recente.

Nenhuma dependência extra é necessária - a biblioteca é independente.
Ponto de Partida
Um sketch mínimo para colocar tudo para funcionar:
begin() configura os pinos GPIO como saídas. loop() controla a multiplexação e deve ser executado com frequência. Defina o conteúdo do display com print(), printTemperature() ou printTime(). Use display.delay() em vez de delay() para manter o display ativo durante as esperas.
Mãos à Obra - Mostrar Números Inteiros
Percorre vários números inteiros e mostra o preenchimento com zeros.
Carregar e Testar
- Ligue o display ao ESP32 conforme descrito acima.
- Conecte o ESP32 ao seu computador via USB.
- Abra a Arduino IDE, selecione a placa e a porta, cole o código e clique em Upload.
- Abra o Serial Monitor para ver a saída.
O display mostra 0, 42, 1234, -5, -123, 9999 e depois 0042 (preenchido com zeros).
Métodos Principais
| Método | O Que Faz | Exemplo |
|---|---|---|
| print(int) | Mostra um número inteiro (-999 a 9999) | display.print(1234) |
| print(int, true) | Número inteiro com zeros à esquerda | display.print(42, true) |
| loop() | Atualiza o display | display.loop() |
Mãos à Obra - Mostrar Números Decimais
Números de ponto flutuante com casas decimais automáticas e fixas.
Carregar e Testar
- Carregue o código e abra o Serial Monitor.
Mostra números decimais com casas decimais automáticas, depois com 1 e 2 casas decimais fixas, e preenchidos com zeros.
Mãos à Obra - Texto e Temperatura
Textos, símbolo de grau e exibição de temperatura.
Carregar e Testar
- Carregue o código e abra o Serial Monitor.
Mostra "HELP", "Hi", "COOL", "done", temperaturas e pontos no meio do texto.
Mãos à Obra - Exibição de Hora
HH.MM no estilo de relógio com separador piscando.
Carregar e Testar
- Carregue o código e abra o Serial Monitor.
Mostra 12.30 com o ponto piscando a cada 500ms.
Mãos à Obra - Piscar
Liga e desliga o display alternadamente.
Carregar e Testar
- Carregue o código e abra o Serial Monitor.
Pisca 1234, depois 12.34 e depois "HELP" - cinco vezes cada.
Solução de Problemas
- Display apagado - Verifique as conexões de VCC, GND e GPIO. Confira se os números dos pinos correspondem ao seu código.
- Caracteres errados - O padrão é anodo comum. Use false como 4º argumento para catodo comum.
- Cintilação - Evite delay(). Use display.delay() para manter o display sendo atualizado.
Plataformas Suportadas
A biblioteca é construída usando apenas APIs padrão do Arduino e funciona em todas as plataformas compatíveis com Arduino, incluindo o ESP32.