Arduino - Display de 7 Segmentos de 4 Dígitos TM1637
Este tutorial ensina como usar um módulo de display de 7 segmentos de 4 dígitos TM1637 com Arduino. Em detalhes, vamos aprender:
- Como conectar o display TM1637 ao Arduino.
- Como mostrar números inteiros e texto no display de 7 segmentos.
- Como mostrar a temperatura com o símbolo de grau.
- Como mostrar a hora com um separador de dois-pontos piscando.
- Como controlar dígitos individuais e o brilho.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo de Display de 7 Segmentos de 4 Dígitos TM1637
O TM1637 é um CI driver para displays LED de 7 segmentos. O módulo usa apenas dois pinos de dados (CLK e DIO) para se comunicar com o microcontrolador, o que deixa a ligação simples. Ele tem memória de display embutida, então, depois que você escreve os dados nele, o display continua aceso sem nenhum loop de atualização. O módulo também inclui um separador de dois-pontos entre o dígito 1 e o dígito 2, o que é útil para displays de relógio.
Principais características do módulo:
- 4 dígitos, cada um com 7 segmentos mais um ponto decimal
- Separador de dois-pontos entre o segundo e o terceiro dígito
- 8 níveis de brilho (0-7)
- Interface de 2 fios (CLK + DIO)
- Memória de display embutida - sem necessidade de atualização
- Tensão de operação: 3.3V a 5V
Mapeamento de Pinos
| Função | Pino |
|---|---|
| CLK | Entrada do sinal de clock |
| DIO | Entrada/saída de dados |
| VCC | Alimentação (3.3V ou 5V) |
| GND | Terra |
Os pinos CLK e DIO podem ser conectados a quaisquer pinos digitais do Arduino.
Diagrama de Ligação
Conecte o módulo TM1637 ao Arduino da seguinte forma:
- CLK ao pino 9 do Arduino
- DIO ao pino 10 do Arduino
- VCC ao 5V
- GND ao GND

This image is created using Fritzing. Click to enlarge image
Instalação da Biblioteca
- Conecte a placa Arduino ao seu computador com um cabo USB.
- Abra o Arduino IDE, selecione a placa e a porta corretas.
- Vá até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise "DIYables_4Digit7Segment_TM1637" e encontre a biblioteca DIYables_4Digit7Segment_TM1637 da DIYables.
- Clique no botão Install para instalar a versão mais recente da biblioteca.

Observação: Esta biblioteca é independente e não tem dependências externas.
Estrutura Básica
Todo sketch que usa a biblioteca DIYables_4Digit7Segment_TM1637 segue esta estrutura básica:
Você cria o objeto display com os números dos pinos CLK e DIO e depois chama begin() em setup(). Depois disso, use métodos como print(), printTemperature() ou printTime() para mostrar dados no display.
Código Arduino - Mostrar Números Inteiros
Este exemplo mostra como exibir vários valores inteiros, incluindo números negativos e saída com preenchimento de zeros.
Passos Rápidos
- Ligue o módulo TM1637 ao seu Arduino como mostrado no diagrama de ligação acima.
- Conecte a placa Arduino ao seu computador com um cabo USB.
- Abra o Arduino IDE, selecione a placa e a porta corretas.
- Copie o código acima e cole no editor do Arduino IDE.
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino.
- Abra o Serial Monitor para ver a saída.
O display vai passar pelos números 0, 42, 1234, -5, -123, 9999 e depois mostrar 42 com preenchimento de zeros como "0042".
Resumo da API
| Método | Descrição | Exemplo |
|---|---|---|
| print(int) | Mostra um número inteiro (-999 a 9999) | display.print(1234) |
| print(int, true) | Mostra com zeros à esquerda | display.print(42, true) |
| clear() | Limpa o display | display.clear() |
Código Arduino - Mostrar Texto e Temperatura
Este exemplo mostra como exibir textos e a temperatura com o símbolo de grau.
Passos Rápidos
- Ligue o módulo TM1637 ao seu Arduino como mostrado no diagrama de ligação acima.
- Copie o código acima e cole no editor do Arduino IDE.
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino.
- Abra o Serial Monitor.
O display vai passar pelos textos "HELP", "Hi", "COOL", "done" e depois mostrar as temperaturas "25°C" e "72°F".
Resumo da API
| Método | Descrição | Exemplo |
|---|---|---|
| print(const char*) | Mostra um texto (até 4 caracteres) | display.print("HELP") |
| printTemperature(int, char) | Mostra a temperatura com o grau e a unidade | display.printTemperature(25, 'C') |
| DEGREE | Constante do símbolo de grau para usar em textos | display.DEGREE |
Código Arduino - Mostrar a Hora com Dois-Pontos Piscando
Este exemplo mostra a hora no estilo de relógio, com dois-pontos que piscam a cada 500 milissegundos.
Passos Rápidos
- Ligue o módulo TM1637 ao seu Arduino como mostrado no diagrama de ligação acima.
- Copie o código acima e cole no editor do Arduino IDE.
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino.
O display vai mostrar "12:30" com os dois-pontos acendendo e apagando a cada meio segundo.
Resumo da API
| Método | Descrição | Exemplo | |
|---|---|---|---|
| printTime(int, int) | Mostra a hora HH | MM com dois-pontos | display.printTime(12, 30) |
| printTime(int, int, bool) | Mostra a hora e controla os dois-pontos (ligado/desligado) | display.printTime(12, 30, false) |
Código Arduino - Fazer o Display Piscar
Este exemplo faz valores inteiros e textos piscarem usando os métodos off() e on().
Passos Rápidos
- Ligue o módulo TM1637 ao seu Arduino como mostrado no diagrama de ligação acima.
- Copie o código acima e cole no editor do Arduino IDE.
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino.
- Abra o Serial Monitor.
O display vai piscar "1234" cinco vezes, fazer uma pausa, depois piscar "HELP" cinco vezes e repetir.
Resumo da API
| Método | Descrição | Exemplo |
|---|---|---|
| off() | Desliga o display (os dados são mantidos) | display.off() |
| on() | Liga o display novamente | display.on() |
| setBrightness(int) | Define o brilho de 0 a 7 | display.setBrightness(4) |
Código Arduino - Controle de Dígitos Individuais
Este exemplo mostra como definir cada dígito separadamente usando números, caracteres e os dois-pontos.
Passos Rápidos
- Ligue o módulo TM1637 ao seu Arduino como mostrado no diagrama de ligação acima.
- Copie o código acima e cole no editor do Arduino IDE.
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino.
- Abra o Serial Monitor.
O display vai mostrar várias combinações de números e caracteres com controle dos dois-pontos.
Resumo da API
| Método | Descrição | Exemplo |
|---|---|---|
| setNumber(int, int) | Define um dígito (0-9) na posição 0-3 | display.setNumber(0, 1) |
| setChar(int, char) | Define um caractere na posição 0-3 | display.setChar(0, 'H') |
| setColon(bool) | Liga ou desliga os dois-pontos | display.setColon(true) |
| setSegments(int, uint8_t) | Define os segmentos diretamente na posição 0-3 | display.setSegments(0, 0x76) |
Solução de Problemas
Se o código não funcionar, há alguns problemas comuns que você pode verificar:
- O display não mostra nada: Verifique as conexões da ligação. Certifique-se de que CLK e DIO estão conectados aos pinos corretos do Arduino. Confirme se o VCC está conectado ao 5V ou 3.3V e o GND ao GND.
- O display mostra dígitos errados: Verifique se os valores de CLK_PIN e DIO_PIN no seu código correspondem à ligação real. Trocar CLK e DIO é um erro comum.
- O display está muito fraco ou muito forte: Use setBrightness(level) com um valor de 0 (mais fraco) a 7 (mais forte) para ajustar.
- Erro de compilação por falta de biblioteca: Certifique-se de que você instalou a biblioteca DIYables_4Digit7Segment_TM1637 pelo Arduino Library Manager.
Plataformas Suportadas
A biblioteca usa apenas APIs padrão do Arduino (pinMode, digitalWrite, digitalRead, delayMicroseconds) e suporta todas as plataformas Arduino (architectures=*).