Arduino Uno R4 - Display de 7 Segmentos e 4 Dígitos com TM1637
O Arduino Uno R4 - disponível como Minima e WiFi - traz mais poder de processamento, mais memória e um ADC de 14 bits, mantendo o layout clássico de conectores do Uno. O módulo de display TM1637 se conecta a quaisquer dois pinos digitais e funciona tanto em 3.3V quanto em 5V, então ele combina com o Uno R4 sem nenhuma conversão de nível.
Neste guia você vai:
- Ligar o módulo de display TM1637 ao Arduino Uno R4.
- Mostrar inteiros, texto e temperatura no display.
- Exibir a hora no formato HH:MM com dois-pontos piscantes.
- Controlar dígitos individuais e ajustar o brilho.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Visão Geral do Display de 7 Segmentos e 4 Dígitos com TM1637
O módulo TM1637 controla um display LED de 7 segmentos e 4 dígitos usando apenas dois fios de sinal (CLK e DIO). Ele cuida da multiplexação dos LEDs internamente e guarda os dados do display na sua própria memória, o que significa que o display continua aceso sem nenhuma atualização contínua do microcontrolador.
Destaques:
- 4 dígitos com 7 segmentos cada, mais pontos decimais
- LED de dois-pontos entre o dígito 1 e o dígito 2 para um display no estilo de relógio
- 8 níveis de brilho ajustáveis
- Interface serial de 2 fios
- Funciona com lógica de 3.3V ou 5V
| Função | Pino |
|---|---|
| CLK | Entrada do sinal de clock |
| DIO | Entrada/saída de dados |
| VCC | Alimentação (3.3V ou 5V) |
| GND | Terra |
Quaisquer dois pinos digitais do Uno R4 podem servir como CLK e DIO.
Diagrama de Ligação
Conecte o TM1637 ao seu Arduino Uno R4:
- CLK ao pino 9
- DIO ao pino 10
- VCC ao 5V
- GND ao GND

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
Como Instalar a Biblioteca
- Conecte o Arduino Uno R4 ao seu computador usando um cabo USB Type-C.
- Na Arduino IDE, verifique se a placa correta (Arduino Uno R4 Minima ou WiFi) e a porta serial estão selecionadas.
- Clique no ícone Libraries na barra lateral esquerda.
- Digite "DIYables_4Digit7Segment_TM1637" na caixa de busca e localize a biblioteca publicada pela DIYables.
- Clique em Install para adicionar a biblioteca à sua IDE.

Nenhuma dependência adicional é necessária - a biblioteca é totalmente independente.
Estrutura Mínima do Sketch
Todos os sketches que usam a biblioteca DIYables_4Digit7Segment_TM1637 compartilham este esqueleto:
Crie o objeto do display com os números dos pinos, chame begin() uma vez e você já pode escrever dados no display.
Mostrar Valores Inteiros
Exibe vários inteiros no display de 7 segmentos, incluindo saída preenchida com zeros.
Como Executar
- Conecte o módulo TM1637 ao Arduino Uno R4 como descrito no diagrama de ligação.
- Conecte o cabo USB Type-C.
- Cole o código na Arduino IDE, escolha a placa e a porta corretas e pressione Upload.
- Abra o Serial Monitor para ver a saída.
Os números passam por 0, 42, 1234, -5, -123, 9999, seguidos de "0042" preenchido com zeros.
Referência Rápida de Métodos
| Método | O Que Faz | Uso |
|---|---|---|
| print(int) | Mostra um inteiro (-999 a 9999) | display.print(1234) |
| print(int, true) | Mostra com zeros à esquerda | display.print(42, true) |
| clear() | Apaga o display | display.clear() |
Mostrar Texto e Temperatura
Exibe textos, o símbolo de grau e a temperatura formatada.
Como Executar
- Ligue o módulo como mostrado acima.
- Faça o upload do sketch e abra o Serial Monitor.
O display passa por "HELP", "Hi", "COOL", "done" e depois mostra "25°C" e "72°F".
Referência Rápida de Métodos
| Método | O Que Faz | Uso |
|---|---|---|
| print(const char*) | Exibe um texto (até 4 caracteres) | display.print("HELP") |
| printTemperature(int, char) | Mostra a temperatura com grau e unidade | display.printTemperature(25, 'C') |
| DEGREE | Caractere de grau para montar textos | display.DEGREE |
Mostrar a Hora com Dois-Pontos Piscantes
Exibe uma saída parecida com um relógio, com os dois-pontos alternando a cada meio segundo.
Como Executar
- Ligue o módulo e faça o upload do código.
- O display mostra "12:30" com os dois-pontos piscando.
Referência Rápida de Métodos
| Método | O Que Faz | Uso | |
|---|---|---|---|
| printTime(int, int) | Mostra HH | MM com os dois-pontos acesos | display.printTime(12, 30) |
| printTime(int, int, bool) | Mostra HH | MM, controla os dois-pontos | display.printTime(12, 30, false) |
Piscar o Display Ligando e Desligando
Usa off() e on() para criar um efeito de piscar mantendo o conteúdo do display.
Como Executar
- Faça o upload e observe - "1234" pisca cinco vezes e depois "HELP" pisca cinco vezes.
Referência Rápida de Métodos
| Método | O Que Faz | Uso |
|---|---|---|
| off() | Desliga o display, os dados permanecem | display.off() |
| on() | Restaura o display | display.on() |
| setBrightness(int) | Ajusta o brilho (0-7) | display.setBrightness(4) |
Controlar Dígitos Individuais
Define cada dígito de forma independente usando números, caracteres e o separador de dois-pontos.
Como Executar
- Faça o upload do código e veja o display passar por diferentes combinações.
Referência Rápida de Métodos
| Método | O Que Faz | Uso |
|---|---|---|
| setNumber(int, int) | Coloca um dígito de 0-9 em uma posição | display.setNumber(0, 1) |
| setChar(int, char) | Coloca um caractere em uma posição | display.setChar(0, 'H') |
| setColon(bool) | Liga ou desliga os dois-pontos | display.setColon(true) |
| setSegments(int, uint8_t) | Escreve dados brutos dos segmentos | display.setSegments(0, 0x76) |
Solução de Problemas
- Nada aparece no display - Confira a ligação novamente. CLK e DIO devem corresponder aos números dos pinos no código. O VCC deve ir ao 5V (ou 3.3V).
- Aparecem caracteres errados - CLK e DIO provavelmente estão trocados. Tente trocar os dois fios.
- Brilho muito baixo - Chame setBrightness(7) para o brilho máximo.
- Biblioteca não encontrada - Instale a DIYables_4Digit7Segment_TM1637 pelo Library Manager na Arduino IDE.
Suporte de Plataformas
A biblioteca depende exclusivamente das APIs padrão do Arduino (pinMode, digitalWrite, digitalRead, delayMicroseconds) e funciona em todas as plataformas compatíveis com Arduino.