Índice:

Matriz de LED usando registros de deslocamento: 7 etapas (com imagens)
Matriz de LED usando registros de deslocamento: 7 etapas (com imagens)

Vídeo: Matriz de LED usando registros de deslocamento: 7 etapas (com imagens)

Vídeo: Matriz de LED usando registros de deslocamento: 7 etapas (com imagens)
Vídeo: Projeto 19 – Matriz de Leds 8x8 Arduino – Animação básica - CURSO BÁSICO ARDUINO 2024, Novembro
Anonim
Matriz de LED usando registros de deslocamento
Matriz de LED usando registros de deslocamento
Matriz de LED usando registros de deslocamento
Matriz de LED usando registros de deslocamento
Matriz de LED usando registros de deslocamento
Matriz de LED usando registros de deslocamento

Este instrutível pretende ser uma explicação mais completa do que outras disponíveis online. Notavelmente, isso fornecerá mais explicações sobre o hardware do que a disponível no letreiro luminoso instrutível por led555.

Metas

Este instrutível apresenta os conceitos envolvidos com registradores de deslocamento e drivers de lado alto. Ao ilustrar esses conceitos com uma matriz LED de 8x8, espero fornecer as ferramentas necessárias para se adaptar e expandir para o tamanho e layout que seu projeto exige.

Experiência e Habilidades

Eu classificaria este projeto como de dificuldade média:

  • Se você já tem experiência em programar microcontroladores e trabalhar com LEDs, este projeto deve ser bastante fácil de concluir e escalonar para arranjos maiores de luzes.
  • Se você está apenas começando com microcontroladores e piscou um ou dois LEDs, poderá concluir este projeto com a ajuda de nosso amigo google.
  • Se você tem pouca ou nenhuma experiência com microcontroladores ou programação, isso provavelmente está além do que você deveria estar se metendo. Experimente alguns outros projetos para iniciantes e volte quando tiver mais alguma experiência em escrever programas para microcontroladores.

Isenção de responsabilidade e crédito

Em primeiro lugar, não sou engenheiro elétrico. Se você encontrar algo que está errado ou não é uma prática recomendada, entre em contato e eu farei a correção. Faça isso por sua própria conta e risco! Você deve saber o que está fazendo ou pode causar danos ao seu computador, ao seu microcontrolador e até a você mesmo. Aprendi muito com a Internet, principalmente nos fóruns em: https://www.avrfreaks.netEstou usando um conjunto de fontes que veio com a biblioteca C universal ks0108. Verifique isso aqui:

Etapa 1: peças

Lista de Peças

Partes Gerais

Para fazer uma grade 8x8 de LEDs e controlá-los, você precisará:

  • 64 LEDs de sua escolha
  • 8 resistores para os LEDs
  • 1 registro de deslocamento para as colunas
  • 1 array de driver para as linhas
  • 8 resistores para trocar a matriz do driver
  • 1 microcontrolador
  • 1 fonte de relógio para microcontrolador
  • 1 placa de prototipagem
  • 1 fonte de alimentação
  • Fio de conexão

Peças específicas usadas aqui

Para este instrutível, usei o seguinte:

  • 64 LEDs verdes (peça do Mouser no. 604-WP7113GD)
  • 8 resistores de 220 ohm 1/4 watt para os LEDs (peça Mouser # 660-CFS1 / 4CT52R221J)
  • 1 Driver LED HEF4794 com registro de deslocamento (peça Mouser nº 771-HEF4794BPN)
  • 1 mic2981 Matriz de driver de fonte de alta tensão de alta tensão (peça Digikey nº 576-1158-ND)
  • 8 resistores de 3,3kohm 1/4 watt para alternar a matriz do driver (Radio Shack parte # 271-1328)
  • 1 microcontrolador Atmel ATmega8 (peça Mouser # 556-ATMEGA8-16PU)
  • Cristal de 1 12MHz para a fonte de relógio do microcontrolador (peça do Mouser # 815-AB-12-B2)
  • 1 placa de prototipagem de 2200 orifícios (peça Radio Shack # 276-147)
  • Fonte de alimentação ATX convertida: Veja este instrutivo
  • Fio de conexão de núcleo sólido de 22 awg (peça Radio Shack nº 278-1221)
  • Placa de ensaio sem solda (Radio Shack parte # 276-169 (não mais disponível, tente: 276-002)
  • AVR Dragon (Mouser part # 556-ATAVRDRAGON)
  • Dragon Rider 500 da Ecros Technologies: Veja este instrutivo

Notas sobre as peças

Drivers de linha e coluna: Provavelmente, a parte mais difícil deste projeto é escolher os drivers de linha e coluna. Em primeiro lugar, não acho que um registrador de deslocamento padrão 74HC595 seja uma boa ideia aqui porque eles não podem lidar com o tipo de corrente que queremos enviar através dos LEDs. É por isso que escolhi o driver HEF4794, pois ele pode facilmente reduzir a corrente presente quando todos os 8 leds estão ligados em uma linha. O registro de deslocamento está presente no lado inferior (o pino de aterramento dos leds). Precisaremos de um driver de linha que possa fornecer corrente suficiente para encadear várias colunas. O mic2981 pode fornecer até 500mA. A única outra parte que descobri que executa essa tarefa é o UDN2981 (digikey part # 620-1120-ND), que é a mesma peça de um fabricante diferente. Por favor, envie-me uma mensagem se você souber de outros drivers high-side que funcionariam bem neste aplicativo. Matriz LED: Esta matriz é 8x8 porque os drivers de linha e coluna têm 8 pinos cada. Uma matriz de LED maior pode ser construída juntando várias matrizes e será discutida na etapa de "conceitos modulares". Se você deseja uma grande variedade, peça todas as peças necessárias de uma só vez. Existem matrizes de LED 8x8, 5x7 e 5x8 disponíveis em um pacote conveniente. Eles devem ser fáceis de substituir por uma matriz diy. Ebay é uma boa fonte para isso. A Mouser tem algumas unidades 5x7 disponíveis, como a peça nº 604-TA12-11GWA. Usei LEDs verdes baratos porque estou apenas brincando e me divertindo. Gastar mais em LEDs de alto brilho e alta eficiência pode permitir que você produza uma tela muito mais espetacular … isso é bom o suficiente para mim! Hardware de controle: A matriz é controlada por um microcontrolador Atmel AVR. Você precisará de um programador para isso. Como estou fazendo um protótipo, estou usando o Dragon Rider 500 para o qual escrevi instruções de montagem e de uso. Esta é uma ferramenta fácil para prototipagem e eu a recomendo fortemente.

Etapa 2: The Matrix

O Matrix
O Matrix
O Matrix
O Matrix
O Matrix
O Matrix

Eu estarei construindo minha própria matriz de LED para este projeto usando leds de 5 mm e uma placa de prototipagem da Radio Shack. Deve-se notar que você pode comprar módulos de led de matriz de pontos 8x8 de várias fontes, incluindo o ebay. Eles devem funcionar muito bem com este instrutível.

Considerações de construção

Alinhamento Os LEDs precisam ser alinhados para que fiquem voltados para a mesma direção e no mesmo ângulo. Achei que a opção mais fácil para mim era colocar o corpo do LED rente à placa e segurá-lo ali com um pequeno pedaço de acrílico e uma braçadeira. Coloquei alguns LEDs no lugar a alguns centímetros da fileira em que estava trabalhando para garantir que o plexiglass ficasse paralelo à placa de prototipagem. Fileiras e colunas Precisamos ter uma conexão comum para cada fileira e também para cada coluna. Por causa de nossa escolha de driver de linha e coluna, precisamos ter o ânodo (terminal positivo do LED) conectado por linha e o cátodo (terminal negativo do LED) conectado por coluna. Fios de controle Para este protótipo, estou usando fio de ligação de núcleo sólido (condutor único). Será muito fácil fazer a interface com uma placa de ensaio sem solda. Sinta-se à vontade para usar um tipo de conector diferente para se adequar ao seu projeto.

Construindo a Matriz

1. Coloque a primeira coluna de LEDS na placa de prototipagem.2. Verifique novamente se a polaridade de cada LED está correta, isso será muito difícil de consertar se você perceber mais tarde.3. Solde os dois cabos do LED na placa. Verifique se eles estão alinhados corretamente (não em ângulos estranhos) e corte os terminais do cátodo. Certifique-se de não cortar o cabo do ânodo, vamos precisar disso mais tarde, então deixe-o apontando para cima.4. Remova o isolamento de um pedaço de fio de núcleo sólido. Solde este pedaço de fio em cada cátodo bem no nível da placa.

  • Prendi isso em cada extremidade, depois voltei e adicionei um pouco de solda em cada junção.
  • Este fio deve passar pelo seu último LED para facilitar a interface quando adicionarmos fios de controle.

5. Repita as partes 1-4 até ter todos os LEDs no lugar e todos os barramentos de coluna soldados.6. Para criar um barramento em linha, dobre vários terminais do ânodo em um ângulo de 90 graus para que toquem os outros terminais do ânodo na mesma linha.

  • Abaixo, há fotos detalhadas disso.
  • Tome cuidado para não deixar que eles entrem em contato com os barramentos da coluna, criando um curto-circuito.

7. Solde os fios em cada junção e corte os fios de ânodo em excesso.

Deixe o último ânodo aderindo ao LED final. Isso será usado para conectar os fios de controle do driver de linha

8. Repita as partes 6 e 7 até que todos os ônibus das linhas tenham sido soldados.9. Conecte os fios de controle.

  • Usei fio de núcleo sólido vermelho para as linhas e preto para as colunas.
  • Conecte um fio para cada coluna e um para cada linha. Isso pode ser feito facilmente no final de cada ônibus.

Importante

Esta matriz de LED não possui resistores limitadores de corrente. Se você testar isso sem resistores, provavelmente queimará seus LEDs e todo esse trabalho será em vão.

Etapa 3: o hardware de controle

O Hardware de Controle
O Hardware de Controle
O Hardware de Controle
O Hardware de Controle

Precisamos controlar as colunas e as linhas de nossa matriz de LED. A matriz foi construída de forma que os ânodos (lado da tensão do LED) constituam as linhas e os cátodos (lado terra do LED) constituam as colunas. Isso significa que nosso driver de linha precisa fornecer a corrente e nosso driver de coluna precisa afundá-la. Para economizar nos pinos, estou usando um registrador de deslocamento para controlar as colunas. Dessa forma, posso controlar um número quase ilimitado de colunas com apenas quatro pinos do microcontrolador. É possível usar apenas três se o pino Enable Output estiver vinculado diretamente à tensão. Selecionei o driver HEF4794 LED com registro de deslocamento. Esta é uma opção melhor do que um 74HC595 padrão, pois pode facilmente absorver a corrente presente quando todos os 8 LEDs estão ligados ao mesmo tempo. No lado alto (fonte de corrente para as linhas), estou usando um mic2981. O esquema mostra um UDN2981, acredito que esses dois são intercambiáveis. Este driver pode fornecer até 500mA de corrente. Como estamos dirigindo apenas 1 linha por vez, isso dá muita oportunidade para expansão, até 33 colunas para este chip (mais sobre isso na etapa "conceitos modulares").

Construindo o Hardware de Controle

Para este instrutível, acabei de fazer o breadboard neste circuito. Para uma solução mais permanente, você vai querer gravar sua própria placa de circuito ou usar a placa de prototipagem.1. Motorista de linha

  • Coloque o mic2981 (ou UDN2981) na placa de ensaio
  • Conecte o pino 9 à tensão (isso é confuso no esquema)
  • Conecte o pino 10 ao aterramento (isso é confuso no esquema)
  • insira resistores 3k3 conectando-se aos pinos 1-8
  • Conecte da Porta D do ATmega8 (PD0-PD8) aos 8 resistores
  • Conecte os fios de controle de 8 fileiras da matriz de LED aos pinos 11-18 (observe que conectei a fileira inferior de LEDs ao pino 18 e a fileira superior ao pino 11).

2. Driver de coluna

  • Coloque o hef4794 na placa de ensaio
  • Conecte o pino 16 à tensão
  • Conecte o pino 8 ao aterramento
  • Conecte resistores de 220 ohms aos pinos 4-7 e 11-14.
  • Conecte os fios de controle de 8 colunas da matriz de LED aos 8 resistores que você acabou de conectar.
  • Conecte o pino 1 (trava) ao PC0 do ATmega8
  • Conecte o Pin2 (dados) ao PC1 do ATmega8
  • Conecte o Pin3 (Clock) ao PC2 do ATmega8
  • Conecte o pino 15 (ativar saída) ao PC3 do ATmega8

3. Relógio de cristal

Conecte um cristal de 12MHz e carregue capacitores conforme mostrado no esquema

4. ISP

Conecte o cabeçalho de programação conforme mostrado no esquema

5. Capacitor de filtragem e resistor de pull-up

  • É melhor filtrar a tensão fornecida ao ATmega8. Use um capacitor de 0.1uf entre os pinos 7 e 8 do ATmega8
  • O pino de reinicialização não deve ser deixado flutuando, pois pode causar reinicializações aleatórias. Use um resistor para conectá-lo à tensão, qualquer coisa em torno de 1k deve ser bom. Usei um resistor de 10k no esquema.

6. Certifique-se de usar a alimentação regulada de + 5 V. Cabe a você projetar o regulador.

Etapa 4: Software

O truque

Sim, como tudo, há um truque. O truque é que nunca há mais de 8 LEDs acesos ao mesmo tempo. Para que isso funcione bem, um pouco de programação engenhosa é necessária. O conceito que escolhi é usar uma interrupção do temporizador. Veja como funciona a interrupção de exibição em inglês simples:

  • O temporizador conta até certo ponto, quando atingido a rotina de serviço de interrupção é executada.
  • Esta rotina decide qual linha é a próxima a ser exibida.
  • As informações da próxima linha são consultadas em um buffer e transferidas para o driver de coluna (essas informações não estão "travadas", portanto ainda não são exibidas).
  • O driver de linha está desligado, nenhum LED está aceso no momento.
  • O driver de coluna está "travado" para tornar as informações que alteramos em duas etapas atrás as informações atuais a serem exibidas.
  • O driver de linha então fornece atual para a nova linha que estamos exibindo.
  • A rotina de serviço de interrupção termina e o programa retorna ao fluxo normal até a próxima interrupção.

Isso acontece muito rapidamente. A interrupção é lançada a cada 1 ms. Isso significa que estamos atualizando toda a tela cerca de uma vez a cada 8 ms. Isso significa uma taxa de exibição de cerca de 125Hz. Há alguma preocupação com relação ao brilho porque essencialmente estamos operando os LEDs em um ciclo de trabalho de 1/8 (eles estão desligados 7/8 do tempo). No meu caso, obtenho uma tela com brilho adequado, sem piscar visível. A tela de LED completa é mapeada em uma matriz. Entre as interrupções, a matriz pode ser alterada (esteja atento à atomicidade) e aparecerá no visor durante a próxima interrupção. As especificações de escrever código para o microcontrolador AVR e de como escrever código para falar com os registradores de deslocamento estão além do escopo deste instrutível. Incluí o código-fonte (escrito em C e compilado com AVR-GCC), bem como o arquivo hexadecimal para programar diretamente. Comentei todo o código, então você deve ser capaz de usar isso para esclarecer quaisquer dúvidas sobre como obter dados no registrador de deslocamento e como a atualização de linha está funcionando. Observe que estou usando um arquivo de fonte que veio com o Biblioteca C universal ks0108. Essa biblioteca pode ser encontrada aqui:

Registradores de turnos: como fazer

Decidi acrescentar um pouco sobre como programar com registradores de deslocamento. Espero que isso esclareça as coisas para aqueles que não trabalharam com eles antes. O que eles fazem Os registros de transferência pegam um sinal de um fio e emitem essa informação para muitos pinos diferentes. Nesse caso, há um fio de dados que recebe os dados e 8 pinos que são controlados dependendo de quais dados foram recebidos. Para tornar as coisas melhores, há uma saída para cada registrador de deslocamento que pode ser conectado ao pino de entrada de outro registrador de deslocamento. Isso é chamado de cascata e torna o potencial de expansão uma perspectiva quase ilimitada. Os registros de controle PinsShift têm 4 pinos de controle:

  • Trava - Este pino informa ao registrador de deslocamento quando é hora de alternar para os dados recém-inseridos
  • Dados - Os 1s e 0s informam ao registrador de deslocamento quais pinos ativar são recebidos neste pino.
  • Clock - Este é um pulso enviado do microcontrolador que diz ao registrador de deslocamento para fazer uma leitura de dados e passar para a próxima etapa no processo de comunicação
  • Habilitar saída - Esta é uma chave liga / desliga, alta = ligada, baixa = desligada

Fazendo com que ele cumpra o seu lance: aqui está um curso intensivo sobre a operação dos pinos de controle acima: Etapa 1: defina a trava, os dados e o relógio para baixo

Definir o Latch como baixo informa ao registrador de deslocamento que estamos prestes a escrever nele

Etapa 2: definir o pino de dados para o valor lógico que deseja enviar para o registrador de deslocamento Etapa 3: definir o pino de relógio alto, informando ao registrador de deslocamento para ler o valor do pino de dados atual

Todos os outros valores atualmente no Shift Register se moverão 1 casa, abrindo espaço para o valor lógico atual do pino de dados

Etapa 4: Ajuste o pino do relógio para baixo e repita as etapas 2 e 3 até que todos os dados tenham sido enviados para o registrador de deslocamento.

O pino do relógio deve ser definido como baixo antes de mudar para o próximo valor de dados. Alternar este pino entre alto e baixo é o que cria o "pulso de clock" que o registrador de deslocamento precisa saber quando passar para a próxima etapa do processo

Etapa 5: Definir trava alta

Isso diz ao registrador de deslocamento para pegar todos os dados que foram deslocados e usá-los para ativar os pinos de saída. Isso significa que você não verá os dados à medida que eles entram; nenhuma mudança nos pinos de saída ocorrerá até que a trava seja definida como alta

Etapa 6: Definir Habilitar saída alta

  • Não haverá saída de pino até que a saída de habilitação seja definida como alta, não importa o que esteja acontecendo com os outros três pinos de controle.
  • Este alfinete pode sempre ser deixado alto, se desejar

CascadingThere dois pinos que você pode usar para cascateamento, Os e Os1. Os é para relógios que aumentam rapidamente e Os1 é para relógios que aumentam lentamente. Prenda este pino ao pino de dados do próximo registro de deslocamento e o estouro deste chip será inserido no próximo. Fim da atualização

Endereçando a tela

No programa de exemplo, criei uma matriz de 8 bytes chamada row_buffer . Cada byte corresponde a uma linha do display 8x8, a linha 0 sendo a parte inferior e a linha 7 sendo a parte superior. O bit menos significativo de cada linha está à direita, o bit mais significativo à esquerda. Alterar a exibição é tão fácil quanto escrever um novo valor para aquele array de dados, a rotina de serviço de interrupção se encarrega de atualizar a exibição.

Programação

A programação não será discutida em detalhes aqui. Eu o avisaria para não usar um cabo de programação DAPA, pois acredito que você não conseguirá programar o chip uma vez que ele esteja rodando a 12MHz. Todos os outros programadores padrão devem funcionar (STK500, MKII, Dragon, programadores Paralelos / Seriais, etc.) Fusíveis: Certifique-se de programar os fusíveis para usar o crystalhfuse de 12MHz: 0xC9lfuse: 0xEF

Em ação

Depois de programar o chip, o display deve exibir a mensagem "Hello World!". Aqui está um vídeo da matriz de LED em ações. A qualidade do vídeo é muito baixa, pois fiz isso com o recurso de vídeo da minha câmera digital e não com um vídeo ou webcam adequados.

Etapa 5: conceitos modulares

Conceitos Modulares
Conceitos Modulares
Conceitos Modulares
Conceitos Modulares
Conceitos Modulares
Conceitos Modulares
Conceitos Modulares
Conceitos Modulares

Este projeto é escalonável. O único fator limitante verdadeiro será a quantidade de corrente que sua fonte de alimentação pode fornecer. (A outra realidade é quantos LEDs e deslocadores de registro você tem disponíveis).

Matemática

Estou conduzindo os LEDs a cerca de 15mA (5V-1.8vDrop / 220ohms = 14,5mA). Isso significa que posso conduzir até 33 colunas com o driver mic2981 (500mA / 15mA = 33,3). Divididos por 8, podemos ver que isso nos permite encadear 4 registradores de deslocamento. Considere também que você não precisa esticar todas as 32 colunas da esquerda para a direita. Em vez disso, você poderia criar uma matriz 16x16 conectada da mesma forma que faria com uma matriz 8x32. Isso seria resolvido mudando em 4 bytes…. os dois primeiros iriam deslocar-se totalmente para os leds da 9ª linha, os segundos dois bytes iriam deslocar-se para a primeira linha. Ambas as linhas seriam originadas por um pino no driver da linha.

Cascading Shift Registers

Os registradores de deslocamento usados são registradores de deslocamento em cascata. Isso significa que quando você muda os dados, o estouro aparece no pino Os. O torna-se muito útil, pois um conjunto de registradores de deslocamento pode ser conectado entre si, pino Os para pino de dados, adicionando 8 colunas com cada novo chip. Todos os registradores de deslocamento se conectarão aos mesmos pinos de trava, relógio e ativação de saída. o microcontrolador. O efeito "cascata" é criado quando o Os do primeiro shift register é conectado ao pino Data do segundo. A programação precisará ser alterada para refletir o aumento do número de colunas. Tanto o buffer que armazena as informações quanto a função que muda as informações para cada coluna precisam ser atualizados para refletir o número real de colunas. Um esquema disso é dado a seguir como exemplo.

Drivers de várias filas

O driver de linha (mic2981) pode fornecer corrente suficiente para acionar 32 colunas. E se você quiser mais de 32 colunas? Deve ser possível usar vários drivers de linha sem usar mais pinos do microcontrolador. Precisamos que os drivers de linha forneçam corrente suficiente para acender os LEDs. Se você estiver usando mais colunas do que é possível iluminar de uma vez, os drivers de linha adicionais podem fornecer a corrente necessária. Os mesmos pinos de entrada do microcontrolador são usados para que não haja necessidade de alterar a varredura das linhas. Em outras palavras, cada driver controla as linhas de um bloco 8x32. Mesmo que 64 colunas possam ter o mesmo posicionamento FÍSICO de linha, dividimos os barramentos de linha em dois, usando um driver para as 8 linhas das primeiras 32 colunas e um segundo driver para as 8 linhas das segundas 32 colunas e assim por diante. Um esquema disso é dado a seguir como exemplo. Erros potenciais: 1. Não use drivers de várias linhas com o mesmo número de colunas. Isso significaria que cada pino de registro de deslocamento estaria acionando mais de um LED por vez.2. Você deve ter um conjunto de 8 resistores (3k3) para cada driver de linha, um conjunto para drivers de várias linhas não funcionará, pois não fornecerá a corrente necessária para alternar as portas.

Por exemplo

Decidi expandir a matriz que construí anteriormente. Eu adicionei mais 7 linhas para um total de 15, pois é tudo o que posso colocar neste protoboard. Também acabei de descobrir sobre um concurso que o Instructables está fazendo chamado "Let it Glow". Aqui está um vídeo da minha opinião sobre isso. Mais uma vez, a câmera digital que usei para gravar o vídeo não faz justiça. Isso parece ótimo para o olho humano, especialmente onde todos os LEDs piscam, mas não parece tão bom no vídeo. Aproveite: o código-fonte para este display maior está incluído abaixo.

Etapa 6: Conclusão

Possíveis Adições

I2CI deixou os pinos de interface de dois fios (I2C) não utilizados neste projeto. Existem vários clientes em potencial interessantes que podem usar esses dois pinos. A adição de um I2C EEPROM permitirá o armazenamento de mensagens muito maiores. Há também a perspectiva de projetar uma programação para transformar o mega8 em um driver de vídeo compatível com I2C. Isso abriria a possibilidade de ter um dispositivo habilitado para USB para exibir dados em sua matriz de LED, passando-os pelo barramento I2C. Entrada Existem muitos pinos restantes que podem ser usados para botões ou um receptor de infravermelho. Isso permitiria que as mensagens fossem programadas por meio de um sistema de menu. Exibição Para este instrutível, implementei apenas algumas funções de exibição. Um apenas grava os caracteres no visor, o outro rola os caracteres no visor. O importante a lembrar é que o que você vê nas luzes é representado em uma matriz de dados. Se você descobrir maneiras de mudar a matriz de dados, as luzes mudarão da mesma maneira. Algumas oportunidades tentadoras incluem a criação de um medidor gráfico a partir das colunas. Isso pode ser usado como um analisador de sinal com um aparelho de som. A rolagem pode ser implementada de cima para baixo ou de baixo para cima, até mesmo da esquerda para a direita. Boa sorte se divirta!

Etapa 7: Acompanhamento

Acompanhamento
Acompanhamento
Acompanhamento
Acompanhamento
Acompanhamento
Acompanhamento
Acompanhamento
Acompanhamento

Depois de deixar o circuito do controlador na placa de ensaio por meses, finalmente projetei e gravei algumas placas de circuito para montar este protótipo. Correu tudo muito bem, não acho que teria feito nada diferente.

Características da placa de circuito

  • Os registradores de deslocamento estão em placas separadas que podem ser encadeadas em série para aumentar o tamanho da tela.
  • A placa controladora tem seu próprio regulador de energia para que possa ser operado por qualquer fonte de alimentação que forneça 7v-30v (bateria de 9v ou fonte de bancada de 12v funcionam bem para mim).
  • Conector ISP de 6 pinos incluído para que o microcontrolador possa ser reprogramado sem removê-lo da placa.
  • Conector de 4 pinos disponível para uso futuro do barramento I2C. Isso poderia ser usado por um eeprom para armazenar mais mensagens ou até mesmo para tornar este um dispositivo escravo controlado por outro microcontrolador (ticker RSS alguém?)
  • 3 botões momentâneos estão incluídos no design. Posso ajustar o firmware no futuro para incluir o uso desses botões.

conjunto

Dê-me plexiglass, colchetes angulares, parafusos de máquina 6x32, porcas e arruelas, bem como um conjunto de torneiras para orifícios de rosca e eu posso criar qualquer coisa.

Segundo prêmio no Let It Glow!

Recomendado: