Arduino Nano - Display de 7 Segmentos e 4 Dígitos com TM1637
Este passo a passo leva você, etapa por etapa, ao uso de um módulo de display de 7 segmentos e 4 dígitos com TM1637 no Arduino Nano. O Nano reúne o mesmo ATmega328P do Uno em um formato compacto e adequado para protoboard - ótimo para montagens apertadas e prototipagem em que o espaço importa.
O que você vai percorrer:
- Conexão do display TM1637 ao Arduino Nano.
- Exibição de inteiros e texto no display de 7 segmentos.
- Exibição de leituras de temperatura com o símbolo de grau.
- Exibição da hora no formato HH:MM com os dois pontos piscando.
- Controle de dígitos individuais e ajuste do brilho.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
O Que É o Módulo de Display TM1637?
O TM1637 é um chip driver projetado para displays LED de 7 segmentos. Ele cuida da multiplexação dos dígitos internamente e se comunica com o microcontrolador por apenas dois fios - CLK e DIO. O chip tem a sua própria memória de display, então, depois que você grava os dados nele, o display permanece estável sem nenhum loop de atualização no seu código.
O que o módulo oferece:
- 4 dígitos, cada um com 7 segmentos mais um ponto decimal
- Separador de dois pontos entre o segundo e o terceiro dígito para exibição no estilo de relógio
- 8 níveis de brilho que você pode definir pelo código
- Interface de 2 fios compatível com 3.3V e 5V
- Memória de display integrada - configure e esqueça
Mapeamento dos Pinos
| Função | Pino |
|---|---|
| CLK | Entrada do sinal de clock |
| DIO | Entrada/saída de dados |
| VCC | Alimentação (3.3V ou 5V) |
| GND | GND |
CLK e DIO podem ir a quaisquer pinos digitais do Nano. Os exemplos abaixo usam os pinos D2 e D3.
Diagrama de Ligação
Ligue o módulo TM1637 ao Arduino Nano:
- 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 Nano e outros componentes.
Configurando a Biblioteca
- Conecte o Arduino Nano ao seu computador com um cabo USB Mini-B.
- Abra a Arduino IDE. Defina a placa como Arduino Nano e selecione a porta correspondente.
- Vá ao painel Libraries à esquerda.
- Digite "DIYables_4Digit7Segment_TM1637" na caixa de pesquisa. Procure a biblioteca da DIYables.
- Clique em Install.

A biblioteca é autossuficiente - não há dependências extras para instalar.
Nota: Se o seu Nano usa um bootloader mais antigo, selecione ATmega328P (Old Bootloader) em Processor no menu Tools.
Código Base
Todo sketch criado com a biblioteca DIYables_4Digit7Segment_TM1637 parte desta base:
Passe ao construtor os números dos pinos CLK e DIO, chame begin() uma vez no setup(), e o display estará pronto para receber dados.
Código Arduino Nano - Exibir Números Inteiros
Este exemplo mostra como exibir vários valores inteiros, incluindo números negativos e uma saída com zeros à esquerda.
Acompanhe
- Ligue o módulo TM1637 ao Nano como mostrado no diagrama de ligação acima.
- Conecte o Nano ao seu computador com um cabo USB Mini-B.
- Abra a Arduino IDE, escolha a placa e a porta, cole o código e clique em Upload.
- Abra o Serial Monitor para ver a saída.
O display vai percorrer os números 0, 42, 1234, -5, -123, 9999 e, depois, mostrar 42 com zeros à esquerda como "0042".
Visão Geral dos Métodos
| Método | Explicação | Exemplo de Chamada |
|---|---|---|
| print(int) | Exibe um inteiro (-999 a 9999) | display.print(1234) |
| print(int, true) | Exibe com zeros à esquerda | display.print(42, true) |
| clear() | Limpa o display | display.clear() |
Código Arduino Nano - Exibir Texto e Temperatura
Este exemplo mostra como exibir strings de texto e uma temperatura formatada com o símbolo de grau.
Acompanhe
- Ligue o módulo TM1637 como mostrado acima.
- Faça o upload do sketch e abra o Serial Monitor.
O display percorre "HELP", "Hi", "COOL", "done" e, depois, mostra as temperaturas "25°C" e "72°F".
Visão Geral dos Métodos
| Método | Explicação | Exemplo de Chamada |
|---|---|---|
| print(const char*) | Exibe uma string de texto (até 4 caracteres) | display.print("HELP") |
| printTemperature(int, char) | Exibe a temperatura com grau e unidade | display.printTemperature(25, 'C') |
| DEGREE | Constante do símbolo de grau | display.DEGREE |
Código Arduino Nano - Exibir Hora com Dois Pontos Piscando
Este exemplo mostra uma hora no estilo de relógio, com os dois pontos piscando a cada 500 milissegundos.
Acompanhe
- Ligue o módulo e faça o upload do código.
- O display mostra "12:30" com os dois pontos piscando, ligando e desligando.
Visão Geral dos Métodos
| Método | Explicação | Exemplo de Chamada | |
|---|---|---|---|
| printTime(int, int) | Exibe a hora HH | MM com dois pontos | display.printTime(12, 30) |
| printTime(int, int, bool) | Exibe a hora, controlando os dois pontos ligados/desligados | display.printTime(12, 30, false) |
Código Arduino Nano - Fazer o Display Piscar
Este exemplo mostra como usar off() e on() para fazer valores piscarem no display.
Acompanhe
- Faça o upload do código e observe o display.
"1234" pisca cinco vezes, faz uma pausa, depois "HELP" pisca cinco vezes, e o ciclo se repete.
Visão Geral dos Métodos
| Método | Explicação | Exemplo de Chamada |
|---|---|---|
| off() | Desliga o display (os dados são preservados) | display.off() |
| on() | Liga o display novamente | display.on() |
| setBrightness(int) | Define o brilho de 0 a 7 | display.setBrightness(4) |
Código Arduino Nano - Controle de Dígitos Individuais
Este exemplo mostra como definir cada dígito separadamente com números, caracteres e os dois pontos.
Acompanhe
- Faça o upload e observe o display percorrer diferentes combinações.
Visão Geral dos Métodos
| Método | Explicação | Exemplo de Chamada |
|---|---|---|
| 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 brutos na posição 0-3 | display.setSegments(0, 0x76) |
Solução de Problemas
- O display não mostra nada - Verifique a ligação. Confirme que CLK e DIO estão conectados aos pinos corretos do Nano e que o VCC vai ao 5V.
- Aparecem caracteres errados - CLK e DIO provavelmente estão trocados. Troque os dois fios.
- Display muito fraco ou muito brilhante - Use setBrightness(level) com um valor de 0 a 7.
- Erro de compilação sobre biblioteca ausente - Instale a DIYables_4Digit7Segment_TM1637 pelo Gerenciador de Bibliotecas da Arduino.
- O upload falha com "not in sync" - Tente selecionar ATmega328P (Old Bootloader) no menu Processor.
Plataformas Suportadas
A biblioteca usa apenas APIs padrão do Arduino (pinMode, digitalWrite, digitalRead, delayMicroseconds) e funciona em todas as plataformas compatíveis com Arduino.