Índice:
- Passo 1:
- Passo 2:
- Etapa 3: Primeiros passos - Hardware
- Etapa 4: Primeiros passos - Software
- Etapa 5: os LEDs bicolores
- Etapa 6: a tela de 7 segmentos
- Etapa 7:
- Etapa 8:
- Etapa 9:
- Etapa 10: os botões
Vídeo: Módulos de exibição de LED Arduino e TM1638: 11 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Se você precisa de uma maneira rápida e fácil de adicionar alguma entrada e saída do usuário a um projeto, esses módulos de exibição são interessantes e divertidos.
Eles contêm oito dígitos de LED vermelhos de 7 segmentos, oito LEDs vermelhos / verdes e também oito botões para entrada do usuário. As unidades também podem ser conectadas em série, permitindo até cinco de uma vez, e um cabo curto acompanha cada módulo, além de alguns espaçadores e parafusos curtos, conforme mostrado na imagem.
Passo 1:
Os espaçadores são longos o suficiente para elevar o PCB acima de uma superfície, no entanto, para montar as placas em qualquer lugar útil, você precisaria de placas mais longas. Você também pode remover os soquetes IDC se quiser montar o módulo próximo à superfície de um painel. Esta seria uma tarefa simples de dessoldar, uma vez que são tomadas através de orifícios.
Passo 2:
A placa é controlada por um TM1638 IC.
Este é um LED e um driver de interface IC da “Titan Micro Electronics“. Você também pode comprar esses ICs da PMD Way. Você também pode baixar a folha de dados para obter mais detalhes.
Etapa 3: Primeiros passos - Hardware
Hardware - a conexão a uma placa compatível com o Arduino (ou outro MCU) é bastante simples. As pinagens são mostradas na parte traseira do PCB e combinam com o encaixe do cabo plano. Se você olhar para o final do cabo como tal.
O furo superior direito é o pino um, com o pino superior esquerdo sendo o pino dois, o pino inferior direito nove e o pino inferior esquerdo dez. Portanto, as pinagens são:
- Vcc (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- não conectado.
Para uso do Arduino, os pinos 1 ~ 4 são o mínimo necessário para usar um módulo. Cada módulo adicional exigirá outro pino digital conectado a STB2, STB3, etc. Mais sobre isso posteriormente. Observe que cada módulo configurado para brilho total com cada LED ligado consome 127mA, portanto, seria sábio usar alimentação externa com mais de um módulo e outras conexões com placas Arduino.
Etapa 4: Primeiros passos - Software
Software - baixe e instale a biblioteca T1638 aqui. Obrigado e parabéns a rjbatista do gmail dot com pela biblioteca. Inicializar módulos no esboço é simples. Incluir a biblioteca com:
#incluir
em seguida, use um dos seguintes para cada módulo:
Módulo TM1638 (x, y, z);
x é o pino digital do Arduino conectado ao pino 4 do cabo do módulo, y é o pino digital do Arduino conectado ao pino 3 do cabo do módulo ez é o pino estroboscópico. Portanto, se você tivesse um módulo com dados, relógio e estroboscópio conectado aos pinos 8, 7 e 6, você usaria:
Módulo TM1638 (8, 7, 6);
Se você tivesse dois módulos, com o strobe do módulo um conectado ao Arduino digital 6 e o strobe do módulo dois conectado ao digital 5, você usaria:
Módulo TM1638 (8, 7, 6); módulo TM1638 (8, 7, 5);
e assim por diante para mais módulos. Agora, para controlar a exibição …
Etapa 5: os LEDs bicolores
Controlar os LEDs vermelho / verde é fácil. Para referência, eles são numerados de zero a sete da esquerda para a direita. Para ligar ou desligar um único LED, use o seguinte:
module.setLED (TM1638_COLOR_RED, x); // define o número do LED x para redmodule.setLED (TM1638_COLOR_GREEN, x); // define o LED número x para verde module.setLED (TM1638_COLOR_RED + TM1638_COLOR_GREEN, 0); // define o número do LED x para vermelho e verde
Usar o método acima pode ser simples, mas um tanto ineficiente. A melhor maneira é abordar todos os LEDs em uma instrução. Para fazer isso, enviamos dois bytes de dados em hexadecimal para o display. O MSB (byte mais significativo) consiste em oito bits, cada um representando um LED verde aceso (1) ou apagado (0). O LSB (byte menos significativo) representa os LEDs vermelhos.
Uma maneira fácil de determinar o valor hexadecimal para controlar os LEDs é simples, a imagem é que você tem uma linha de LEDs - os primeiros oito sendo verdes e os segundos oito sendo vermelhos. Defina cada dígito como 1 para ativado e 0 para desativado. Eles convertem os dois números binários em hexadecimais e usam esta função:
module.setLEDs (0xgreenred);
Onde verde é o número hexadecimal para os LEDs verdes e vermelho é o número hexadecimal para os LEDs vermelhos. Por exemplo, para ligar os três primeiros LEDs como vermelhos e os três últimos como verdes, a representação binária será:
00000111 11100000 que em hexadecimal é E007.
Então, usaríamos:
module.setLEDs (0xE007);
que produz a imagem conforme mostrado acima.
Etapa 6: a tela de 7 segmentos
Para limpar o display numérico (mas não os LEDs abaixo), basta usar:
module.clearDisplay ();
ou para ligar todos os segmentos E todos os LEDs, use o seguinte
module.setupDisplay (verdadeiro, 7); // onde 7 é a intensidade (de 0 ~ 7)
Para exibir números decimais, use a função:
module.setDisplayToDecNumber (a, b, false);
onde a é o inteiro, b é a posição do ponto decimal (0 para nenhum, 1 para o dígito 8, 2, para o dígito 7, 4 para o dígito 6, 8 para o dígito 4, etc), e o último parâmetro (verdadeiro / false) ativa ou desativa os zeros à esquerda. O esboço a seguir demonstra o uso desta função:
#include // define um módulo no pino de dados 8, pino 9 do relógio e pino estroboscópico 7 TM1638 module (8, 9, 7); longo sem sinal a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); atraso (1); } para (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); atraso (1); }}
… Com os resultados mostrados no vídeo.
Etapa 7:
Um dos recursos mais interessantes é a capacidade de rolar o texto em uma ou mais telas. Para fazer isso realmente não precisa de uma explicação como o esboço de demonstração incluído:
tm_1638_scrolling_modules_example.pde
incluído com a biblioteca TM1638 é facilmente seguido. Basta inserir seu texto na string const char , garantir que os módulos estejam conectados de acordo com a definição do módulo no início do esboço e pronto. Para ver os personagens disponíveis, visite a página de funções. Observe que a exibição é de apenas sete segmentos, portanto, alguns caracteres podem não parecer perfeitos, mas no contexto lhe dará uma boa ideia - veja o vídeo nesta etapa.
Etapa 8:
Finalmente, você também pode endereçar individualmente cada segmento de cada dígito. Considere o conteúdo desta matriz:
valores de byte = {1, 2, 4, 8, 16, 32, 64, 128};
cada elemento representa os dígitos 1 ~ 8. O valor de cada elemento determina qual segmento do dígito é ativado. Para os segmentos a ~ f, dp os valores são 1, 2, 4, 6, 16, 32, 64, 128. Portanto, os resultados do uso da matriz acima na seguinte função:
module.setDisplay (valores);
será pela imagem.
Etapa 9:
Naturalmente, você pode combinar valores para cada dígito para criar seus próprios caracteres, símbolos, etc. Por exemplo, usando os seguintes valores:
valores de byte = {99, 99, 99, 99, 99, 99, 99, 99};
criamos de acordo com a imagem nesta etapa.
Etapa 10: os botões
Os valores dos botões são retornados como um valor de byte da função:
module.getButtons ();
Como existem oito botões, cada um representa um bit de um número binário que é retornado como um byte. O botão à esquerda retorna um decimal, e o direito retorna 128. Ele também pode retornar pressionamentos simultâneos, então pressionar os botões um e oito retorna 129. Considere o seguinte esboço, que retorna os valores dos pressionamentos de botão na forma decimal e, em seguida, exibe O valor que:
#include // define um módulo no pino de dados 8, pino 9 do relógio e pino estroboscópico 7 módulo TM1638 (8, 9, 7); botões de byte; void setup () {} void loop () {buttons = module.getButtons (); module.setDisplayToDecNumber (botões, 0, falso); }
e os resultados no vídeo.
Esses painéis de exibição são úteis e, com sorte, encontram um lar em seus projetos. Esta postagem foi trazida a você por pmdway.com - oferecendo tudo para fabricantes e entusiastas de eletrônicos, com entrega gratuita em todo o mundo.
Recomendado:
Tempo de exibição do Arduino no display LED TM1637 usando RTC DS1307: 8 etapas
Arduino Display Time no TM1637 LED Display usando RTC DS1307: Neste tutorial, aprenderemos como exibir o tempo usando o módulo RTC DS1307 e LED Display TM1637 e Visuino. Assistir ao vídeo
Cool Lighting for Fre (Módulos de LED): 9 etapas
Cool Lighting for Fre (Módulos de LED): neste instrutível eu fiz pequenas luzes de LED para alguns efeitos de iluminação agradáveis, usei baterias recicladas porque era grátis, mas você pode usar qualquer bateria que quiser
Usando os módulos de relógio em tempo real DS1307 e DS3231 com o Arduino: 3 etapas
Usando os módulos de relógio em tempo real DS1307 e DS3231 com o Arduino: Continuamos recebendo solicitações sobre como usar os módulos de relógio em tempo real DS1307 e DS3231 com o Arduino de várias fontes - portanto, este é o primeiro de um tutorial de duas partes sobre como usá-los. Para este tutorial do Arduino, temos dois módulos de relógio em tempo real para nós
Construa sua primeira IOT usando Arduino sem módulos adicionais: 5 etapas (com imagens)
Construa sua primeira IOT usando Arduino sem módulos adicionais: O mundo está ficando mais inteligente a cada dia e o maior motivo por trás disso é a evolução da tecnologia inteligente. Como um entusiasta de tecnologia, você deve ter ouvido falar sobre o termo IOT, que significa Internet das Coisas. Internet das coisas significa controlar e alimentar
Temperatura de exibição no módulo de exibição de LED P10 usando Arduino: 3 etapas (com imagens)
Exibir temperatura no módulo P10 LED Display usando Arduino: No tutorial anterior foi dito como exibir texto no módulo Dot Matrix LED Display P10 usando Arduino e conector DMD, que você pode verificar aqui. Neste tutorial, daremos um tutorial de projeto simples, utilizando o módulo P10 como meio de exibição