Como usar um display TM1638 de 4 dígitos. Assista ao vídeo

Como usar um display TM1638 de 4 dígitos. Assista ao vídeo

O módulo TM1638 é um componente versátil que pode exibir números e caracteres enquanto é controlado por botões. Neste tutorial, você aprenderá como configurar e programar este display para mostrar vários valores, incluindo números e valores hexadecimais. Ao final deste guia, você terá um display totalmente funcional que responde às pressões dos botões e altera o que é exibido com base na entrada do usuário. Você pode ver uma demonstração (no vídeo em 00:00).

TM1637 keypad display module-1

Hardware Explicado

O módulo TM1638 foi projetado para exibir informações e receber entradas de botões. Ele consiste em um display de 8 dígitos e uma matriz de 16 botões. Cada botão pode ser programado para acionar funções diferentes, permitindo uma interface amigável ao usuário. O módulo se conecta a um microcontrolador por meio de três pinos: um pino de entrada/saída de dados, um pino de clock e um pino de strobe. Essa configuração possibilita uma comunicação eficiente entre o microcontrolador e o TM1638. O CI TM1638 gerencia o display e as entradas dos botões. Ele usa um protocolo de comunicação serial que permite controlar o display e ler os estados dos botões com fiação mínima. Cada pressionamento de botão envia um sinal ao microcontrolador, que então pode executar ações específicas com base em qual botão foi pressionado.

Detalhes da ficha técnica

FabricanteQYF
Número da peçaTM1638
Tensão lógica/E/S5 V
Tensão de alimentação5 V
Corrente de saída (por segmento)20 mA
Corrente de pico (total)120 mA
Limiares lógicos de entrada0.2 V (baixo) / 0.8 V (alto)
PacoteDIP-28
  • Garanta que a tensão de alimentação esteja estável em 5 V para desempenho ideal.
  • Limite a corrente de saída para evitar danos ao display.
  • Use resistores para evitar corrente excessiva através dos LEDs.
  • Implemente debounce nas entradas de botão no software para evitar múltiplos acionamentos.
  • Mantenha a fiação curta para reduzir o ruído na comunicação.

Instruções de fiação

Para ligar o módulo TM1638, você o conectará ao seu microcontrolador da seguinte forma:

Arduino wiring for TM1637 keypad display module
Arduino wiring for TM1637 keypad display module
- Conecte o pino rotuladoVCCno TM1638 à alimentação de 5V do seu microcontrolador. - Conecte oGNDpino do TM1638 ao terra do seu microcontrolador. - Conecte oSTBpino (frequentemente rotulado emSTROBE) ao pino digital 5 do seu microcontrolador. - Conecte oCLKpino (clock) ao pino digital 2 do seu microcontrolador. - Conecte oDIOConecte o pino (entrada/saída de dados) ao pino digital 3 do seu microcontrolador. Certifique-se de verificar suas conexões antes de ligar o sistema. Se você seguiu o vídeo (em 02:30), não deverá ter problemas com a fiação.

Exemplos de Código e Guia passo a passo

O seguinte trecho de código inicializa o módulo TM1638 e configura o display. O identificadormodulerepresenta a instância do TM1638 criada para interagir com o display.

TM1638QYF module(DIO, CLK, STB);
void setup() 
{
  module.setupDisplay(true, 7);
}

Neste trecho, o display é configurado para mostrar o brilho máximo (7). A parte seguinte do código trata das pressões dos botões e altera o display conforme o botão pressionado.

void update(TM1638QYF* module, word* mode) {
  word buttons = module->getButtons();
  if (buttons != 0) {
    *mode = buttons >> 1;
  }
  switch (*mode) {
    case 0: module->setDisplayToString("press 1"); break;
    // other cases follow
  }
}

Esta função verifica qual botão está pressionado usandogetButtons()e atualiza a exibição de acordo. A variávelmodedetermina qual texto é exibido com base no botão pressionado. Finalmente, o loop principal atualiza continuamente o visor.

void loop() 
{
  update(&module, &mode);
}

Este laço chama oupdatefunção, garantindo que a exibição seja atualizada com base na interação do usuário. Para uma compreensão completa, consulte o código completo carregado abaixo do artigo.

Demonstração / O que esperar

Uma vez que tudo esteja ligado e o código carregado, pressionar os botões deve alterar o texto do visor de acordo. Por exemplo, pressionar o botão 1 exibirá "pressione 1", enquanto pressionar o botão 2 muda para "pressione 2". Se houver algum problema, verifique novamente a fiação e certifique-se de que os pinos corretos estão sendo usados conforme mencionado. Assistir ao vídeo (em 05:00) também ajudará a confirmar que tudo está funcionando como esperado.

Marcas de tempo do vídeo

  • 00:00- Introdução
  • 02:30- Instruções de fiação
  • 05:00- Explicação e Demonstração do Código

Imagens

TM1637 keypad display module-1
TM1637 keypad display module-1
TM1637 keypad display module-2
TM1637 keypad display module-2
TM1637 keypad display module-3
TM1637 keypad display module-3
TM1637 keypad display module
TM1637 keypad display module
Arduino wiring for TM1637 keypad display module
Arduino wiring for TM1637 keypad display module
28-This is the Arduino code for a TM1638 8-digit display with a 4x4 matrix button.
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Bibliotecas do Arduino (zip)

Manual do Usuário