Índice:
- Etapa 1: Componentes
- Etapa 2: primeiros protótipos
- Etapa 3: Design de PCB
- Etapa 4: Programação
- Etapa 5: Teste
- Etapa 6: Conclusão e Próximas Etapas
Vídeo: Módulo de display de LED múltiplo: 6 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Olá a todos, Gosto de trabalhar com display LED de 7 segmentos ou com matriz de pontos e já fiz diversos projetos com eles.
Todas as vezes eles são interessantes porque há algum tipo de mágica em como eles podem funcionar, porque o que você está vendo é uma ilusão de ótica!
Os monitores possuem muitos pinos para conexão com um Arduino (ou outro microcontrolador) e a melhor solução é aplicar as técnicas de multiplexação de dados para minimizar o uso de suas portas.
Ao fazer isso, cada segmento ou cada LED ficará ligado por alguns instantes (milissegundos ou menos), mas a repetição disso em tantas vezes por segundo cria a ilusão da imagem que você deseja mostrar.
Para mim o mais interessante é desenvolver a lógica, o programa para descobrir como eles podem mostrar as informações corretas de acordo com o seu projeto.
Em um único projeto, o uso de monitores exige muito tempo para montar todos os componentes em uma placa de ensaio com muitos fios para as conexões.
Eu sei que existem muitos monitores diferentes no mercado rodando com I2C, de maneiras simplificadas (ou não), para programá-los e eu os tenho usado também, mas eu prefiro trabalhar com componentes padrão como 74HC595 (multiplexador IC) e ULN2803 (drivers) porque eles fornecem a você mais controle em seu programa e também mais robustez e confiabilidade em sua utilização.
Para simplificar o processo de montagem, desenvolvi um módulo LED Dipslay para várias finalidades, usando componentes simples e comuns no mundo do Arduino.
Com este módulo você pode trabalhar com matriz de pontos com LEDs de duas cores em dois tamanhos padrão (maior e menor) e também controlar display de 7 Seg x 4 Dígitos que são muito comuns e fáceis de encontrar no mercado.
E você também pode trabalhar com esses módulos em cascata em uma forma serial (dados diferentes em monitores) ou em uma forma paralela (mesmos dados em monitores).
Então vamos ver como este módulo pode funcionar e te ajudar em seus desenvolvimentos!
Vídeo (Módulo de Display de LED)
Vídeo (teste de matriz de pontos)
Cumprimentos, LAGSILVA
Etapa 1: Componentes
PCB (placa de circuito impresso)
- 74HC595 (03 x)
- ULN2803 (02 x)
- Transistor PNP - BC327 (08 x)
- Resistor 150 Ohms (16 x)
- Resistor 470 Ohms (08 x)
- Capacitor 100 nF (03 x)
- Soquete IC 16 pinos (03 x)
- Soquete IC 18 pinos (02 x)
- Conector de pino fêmea - 6 pinos (8 x)
- Fixar cabeçalhos 90º (01 x)
- Fixar cabeçalhos 180º (01 x)
- Conector Borne KRE 02 pinos (02 x)
- PCB (01 x) - Fabricado
Outros
- Arduino Uno R3 / Nano / similar
- Display LED de 04 dígitos x 7 segmentos - (ânodo comum)
- LED Dot Matrix Dual Color (Verde e Vermelho) - (Ânodo Comum)
Observações importantes:
- Coloquei a folha de dados de todos os componentes mais importantes apenas como referência, mas você deve verificar a folha de dados de seus próprios componentes antes de usá-los.
- Esta placa foi projetada para usar apenas exibições de ANODO COMUM.
Etapa 2: primeiros protótipos
Meu primeiro protótipo foi feito em uma placa de ensaio para testar o circuito.
Depois fiz outro protótipo usando uma placa universal como vocês podem ver nas fotos.
Esse tipo de placa é interessante para produzir um protótipo rápido mas você percebe que ainda guarda muitos fios.
É uma solução funcional, mas não tão elegante comparada com um PCB final fabricado (o azul).
Não sou bom em soldar porque não tenho bastante experiência com este processo mas mesmo assim obtive bons resultados com ambas as experiências e mais importante: não queimei nenhum componente e nem as minhas mãos!
Provavelmente os resultados na minha próxima prancha serão melhores devido à prática.
Por isso incentivo você a experimentar esse tipo de experiência, pois será excelente para você.
Lembre-se de ter cuidado com o ferro quente e tente não gastar mais do que alguns segundos em um componente para evitar queimá-lo !!
E, finalmente, no Youtube você pode encontrar muitos vídeos sobre soldagem que você pode aprender antes de ir para o mundo real.
Etapa 3: Design de PCB
Projetei este PCB usando um software dedicado para produzir uma placa de camada dupla e ele foi desenvolvido em várias versões diferentes antes desta última.
No início eu tinha uma versão para cada tipo de display e afinal decidi combinar tudo em uma única versão.
Metas de design:
- Simples e útil para protótipos.
- Configuração fácil e expansível.
- Capaz de usar 3 tipos diferentes de visores.
- Largura máxima da grande matriz de pontos do LED.
- Comprimento máximo de 100 mm para minimizar os custos de produção da placa.
- Aplique componentes tradicionais em vez de SMD para evitar mais dificuldades durante o processo de soldagem manual.
- A placa deve ser modular para ser conectada a outras placas em cascata.
- Saída serial ou paralela para outras placas.
- Várias placas devem ser controladas apenas por um Arduino.
- Apenas 3 fios de dados para conexão do Arduino.
- Conexão de alimentação externa 5V.
- Aumente a robustez elétrica aplicando transistores e drivers (ULN2803) para controlar os LEDS.
Observação:
Com relação a este último item, recomendo que você leia meus outros Instructables sobre estes componentes:
Usando o Shift Register 74HC595 com ULN2803, UDN2981 e BC327
Fabricação de PCB:
Após terminar o projeto, enviei para um fabricante de PCB na China após muitas pesquisas em diferentes fornecedores locais e em diferentes países.
O principal problema estava relacionado à quantidade de placas versus custo, porque eu preciso de apenas algumas delas.
Por fim, decidi fazer um pedido regular (não um pedido expresso devido aos custos mais altos) de apenas 10 pranchas para uma empresa na China.
Após apenas 3 dias as pranchas foram fabricadas e enviadas para mim cruzando o mundo em mais 4 dias.
Os resultados foram excelentes !!
Em uma semana após o pedido de compra as pranchas estavam em minhas mãos e fiquei realmente impressionado com a alta qualidade delas e com a rapidez!
Etapa 4: Programação
Para a programação, você deve ter em mente alguns conceitos importantes sobre o design do hardware e sobre o registrador de deslocamento 74HC595.
A principal função do 74HC595 é transformar 8 bits Serial-In em 8 Parallel-Out Shift.
Todos os dados seriais vão para o pino # 14 e, a cada sinal de clock, os bits vão para seus pinos de saída paralela correspondentes (Qa a Qh).
Se você continuar enviando mais dados, os bits serão movidos um a um para o Pino # 9 (Qh ') como saída serial novamente e devido a esta funcionalidade você pode colocar outros chips conectados em cascata.
Importante:
Neste projeto temos três CIs de 74HC595. Os dois primeiros funcionam para controlar as colunas (com lógica POSITIVA) e o último para controlar as linhas (com lógica NEGATIVA devido ao funcionamento dos transistores PNP).
A lógica positiva significa que você deve enviar um sinal de nível ALTO (+ 5 V) do Arduino e a lógica negativa significa que você deve enviar um sinal de nível BAIXO (0 V).
Matriz de pontos de LEDs
- A primeira é para as saídas dos cátodos dos LEDs Vermelhos (8 x) >> COLUNA VERMELHA (1 a 8).
- A segunda é para a saídaL dos cátodos dos LEDs verdes (8 x) >> COLUNA VERDE (1 a 8).
- O último é para a saída dos ânodos de todos os LEDs (08 x Vermelho e Verde) >> LINHAS (1 a 8).
Por exemplo, se você deseja ligar apenas o LED verde da coluna 1 e da linha 1, deve enviar a seguinte sequência de dados seriais:
1º) LINHAS
~ 10000000 (apenas a primeira linha é ativada) - O símbolo ~ é para inverter todos os bits de 1 para 0 e vice-versa.
2º) COLUNA Verde
10000000 (apenas a primeira coluna do LED verde está ativada)
3º) COLUNA VERMELHA
00000000 (todas as colunas de LEDs vermelhos estão desligados)
Declarações do Arduino:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Lógica negativa para as linhas
shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Lógica positiva para as colunas verdes
shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Lógica positiva para as colunas vermelhas
Observação:
Você também pode combinar os dois LEDs (verde e vermelho) para produzir a cor AMARELA da seguinte forma:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
Exibição de 7 segmentos
Para esses tipos de telas, a sequência é a mesma. A única diferença é que você não precisa usar os LEDs verdes.
1º) DIGITAR (1 a 4 da esquerda para a direita) ~ 10000000 (definir o dígito # 1)
~ 01000000 (definir o dígito # 2)
~ 00100000 (definir o dígito # 3)
~ 00010000 (definir o dígito # 4)
2º) NÃO UTILIZADO
00000000 (todos os bits definidos para zero)
3º) SEGMENTOS (A a F e DP - verifique seu display datasheet)
10000000 (definir segmento A)
01000000 (definir segmento B)
00100000 (definir segmento C)
00010000 (definir segmento D)
00001000 (definir segmento E)
00000100 (definir segmento F)
00000010 (definir segmento G)
00000001 (definir DP)
Exemplo do Arduino para definir o Display # 2 com o número 3:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Definir DISPLAY 2 (lógica negativa)
shiftOut (dataPin, clockPin, LSBFIRST, 0); // Defina os dados para zero (não usado)
shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Defina os segmentos A, B, C, D, G)
Finalmente, aplicando este processo, você pode controlar qualquer LED de sua tela e também pode criar quaisquer caracteres especiais que você precisa.
Etapa 5: Teste
Aqui estão dois programas como exemplo de funcionalidade do Módulo de Display.
1) Exibição de contagem regressiva (de 999,9 segundos a zero)
2) Matriz de pontos (dígitos de 0 a 9 e alfabeto de A a Z)
3) Relógio Digital RTC em Display LED de 4 Dígitos e 7 Segmentos
Este último é uma atualização da minha primeira versão do Relógio Digital.
Etapa 6: Conclusão e Próximas Etapas
Este módulo será útil em todos os projetos futuros que exijam algum display LED.
Como próximos passos irei montar mais algumas placas para trabalhar com elas em modo cascata e irei desenvolver também uma biblioteca para simplificar ainda mais a programação.
Espero que você tenha gostado deste projeto.
Por favor, envie-me seus comentários, pois isso é importante para aprimorar o projeto e as informações deste Instructable.
Cumprimentos, LAGSILVA
26 de maio de 2016
Recomendado:
Programador ATtiny85 / 13A múltiplo: 6 etapas
Programador múltiplo ATtiny85 / 13A: Você já fez um projeto como um “LDR x Arduino UNO Automatic Light” ou semelhante que usa apenas 2-3 portas de E / S digital do seu microcontrolador de 32 pinos? Tudo bem se você estiver apenas fazendo alguns trabalho de prototipagem, mas e se você quiser finalizar ou produzir
Interface de LCD múltiplo para Arduino Uno usando linha de dados comum: 5 etapas
Interface de LCD múltiplo para Arduino Uno usando linha de dados comum: Hoje, neste instrutível, vou mostrar como fazer a interface de vários módulos LCD 16x2 com uma placa arduino uno usando linha de dados comum. O mais interessante sobre este projeto é que ele usa uma linha de dados comum e exibe dados diferentes em e
Dupin - uma fonte de luz portátil de comprimento de onda múltiplo de custo ultrabaixo: 11 etapas
Dupin - uma fonte de luz portátil de comprimento de onda ultrabaixo: Batizada em homenagem a Auguste Dupin, considerado o primeiro detetive fictício, esta fonte de luz portátil funciona com qualquer carregador de telefone USB de 5V ou fonte de alimentação. Cada cabeça de LED se encaixa magneticamente. Usando leds estrela de 3W de baixo custo, resfriados ativamente por um pequeno ventilador
Como tornar a música LEDs WS2812B reativos com padrão múltiplo: 4 etapas
Como tornar a música LEDs WS2812B reativos com padrão múltiplo: WS2812, WS2812B é uma fonte de luz LED controlada inteligente. tem um chip de controle embutido e 4 pinos. V +, V-, Din & Para controlar esses LEDs, queremos usar MCU como Arduino, PIC ou torta Rasberry. Usei o Arduino UNO para este projeto
SUPORTE DE BATERIA MÚLTIPLO - para experimentos elétricos: 5 etapas (com fotos)
SUPORTE DE MÚLTIPLAS BATERIAS - para experimentos elétricos: este suporte de bateria suporta 1, 2 ou 3 pilhas AAA. Pode ser feito mais para lidar com mais. Da mesma forma que uma mola de prendedor força a ponta do prendedor a fechar, ela força a extremidade do cabo a se separar. Essa pressão externa é usada para manter