Fazendo um ticker de LED no Arduino com suas próprias mãos. Selecionando e organizando um LED ticker LED ticker como fazer um relógio

Neste artigo falaremos sobre a montagem de tickers LED com suas próprias mãos, utilizando componentes especiais e ferramentas disponíveis.

Então, para montar um ticker você precisará de:

  • (monocromático ou RGB);
  • - controla a ordem da iluminação LED em todo o painel;
  • - 1-2 peças, dependendo do número de módulos rastreadores;
  • -necessário para diversas montagens de tickers (remoção frontal ao substituir um módulo de LED com falha);
  • E;

Ferramenta adicional:

  • serra de esquadria com disco para alumínio e metal ou serra para metal;
  • chave de fenda ou chave de fenda;
  • transparente selante de silicone;
  • parafusos auto-roscantes;

Módulos LED vêm em diferentes tamanhos e cores. Eles também diferem em etapas entre os pixels P10, P6. As fontes de alimentação desempenham um papel importante - elas convertem a tensão de 220 Watts em 5 Volts. São necessários fios para conectar a fonte de alimentação ao módulo. Os cabos conectam o controlador e o módulo. A montagem do ticker só é possível com a ajuda de ímãs. Perfis com cantos de alumínio servem como corpo do display LED.

1. Em uma superfície plana horizontal, coloque os módulos de LED com a tela voltada para baixo na direção da esquerda para a direita conforme indicado nas setas dos próprios módulos, um módulo padrão medindo 160 mm * 320 mm onde 160 é a altura e 320 é o comprimento do módulo. Para obter uma string de LED com 320 mm de largura, você precisa organizar os módulos em 2 linhas. Se você precisar de uma string de LED com mais de 320 mm de largura, basta colocar os módulos de LED em várias fileiras.

2. Em seguida, fixe os módulos com guias. Para fazer isso, você precisa cortar o perfil em segmentos da mesma largura da corda de LED. Coloque as guias nos módulos de acordo com os furos destinados aos parafusos e aperte os parafusos. Não se esqueça de deixar espaço para a fonte de alimentação.

3.Depois de dispormos a quantidade necessária e montarmos o mosaico, conectamos os cabos e fios de alimentação entre si, para isso o módulo possui os pinos necessários para os cabos (a faixa vermelha para cima é obrigatória) e fixações para os cabos; fios de energia.




4. Em seguida, você precisa conectar a fonte de alimentação ao controlador com fios de 2 a 1,5 mm. Também possui um orifício para fixação de cabos e fios. Uma fonte de alimentação de 40 A é suficiente para 7 a 8 módulos, mas para evitar superaquecimento e quebras, é melhor levar uma unidade para 6 módulos. Se houver várias fontes de alimentação, elas deverão ser conectadas em série. Cada próximo seis módulos são alimentados com energia da unidade.


5.Usando um cabo, conecte o controlador ao módulo. Importante!!! Fonte de alimentação do módulo 5V, Controlador 5V. Mais no módulo VCC, menos GND. No controlador, mais 5V Menos - GND. Conectamos os módulos um por um. Para iniciar os módulos, você só precisa conectar o cabo positivo e o cabo de 16 pinos.

6.Agora você precisa selar tudo com cuidado. Para isso, com selante, é necessário lubrificar todas as juntas dos módulos. Isto deve ser feito com muito cuidado. O resultado deverá ser um mosaico selado de módulos de LED interligados por fios, fontes de alimentação e guias.


7. Montamos a moldura do ticker a partir de um perfil de alumínio. Medimos o comprimento e a largura da linha, usamos uma serra de esquadria ou serra para metal para cortar as seções apropriadas. Inserimos os cantos no perfil e fixamos com parafusos auto-roscantes. Recomenda-se revestir a junta entre o perfil e o canto com selante.



8.Em uma das laterais do gabinete é necessário fazer um furo para o cabo de alimentação e saída USB.

9. Alucobond é usado como parede posterior - material de construção material de acabamento, plástico coberto com papel alumínio. Ou outro material durável. Selamos a parte de trás do ticker. Cortamos, aplicamos o cenário selecionado e fixamos com parafusos auto-roscantes. O quadro de avisos está pronto.


No sortimento de nossa loja você encontrará todos os componentes necessários para a fabricação de tickers LED. Oferecemos os melhores preços e garantia para todos os produtos. Um técnico pode fazer um cálculo gratuito de iluminação e seleção de equipamentos.

Quadro eletrônico de informações - display. Este é um display matricial LED SMD 85 que exigirá um microcontrolador Atmega88V e uma série de outros detalhes. Com dimensões 24 x 85 mm, alimentado por bateria de 3 volts. Sua carga durará muito tempo, mesmo quando restarem apenas 2 volts, o trabalho não irá parar. Após ligar o quadro de informações, uma linha crescente começará a ser exibida de acordo com a escolha feita. É possível armazenar 4 textos na memória, cada um deles com volume de 127 caracteres. Deve-se notar que a 128ª célula é necessária para uso especial. O diagrama é uma aparência de um desenho industrial pronto.

Circuito de exibição de LED em um microcontrolador

Finalidade dos botões

  • 1 - velocidade de exibição do ticker - mais lento/mais rápido
  • 2 - exibir texto em - negativo/positivo
  • 3 - alterar o tamanho de exibição das letras - pequeno/grande
  • 4 - editor de texto, após entrar pressione um dos botões para selecionar o texto para edição. Então, B1 é para o caractere anterior, B2 é para o próximo caractere, B3 é para passar para a próxima célula, após clicar neste botão o caractere anterior será salvo. Não há necessidade de usar todos os 127 caracteres da memória, pressione B4 para finalizar a edição, isso salvará o último caractere e retornará ao modo normal.

No modo normal, enquanto o texto é exibido, pressionar o mesmo botão fará uma pausa; pressionar novamente cancelará a pausa. Pressionar outro botão causará imediatamente uma transição suave para o novo texto. Quando todo o texto for exibido por completo, o dispositivo muda para o modo de baixo consumo de energia, que é de 1 mA. Quando exibida, a tensão da bateria é medida e o software calcula o consumo de corrente dos LEDs com base na tensão disponível na faixa de 2 a 3,5 volts.

A razão para tomar estas precauções é que o aumento da corrente pode danificar os LEDs. O dispositivo pode operar com tensão abaixo deste nível, 1,8 volts, se forem utilizados LEDs vermelhos de 2 volts.

Na parte frontal placa de circuito impresso Você precisa conectar 3 cordas de LED com um fio fino e enrolado. O firmware do microcontrolador está incluído e seria uma boa ideia considerar opções para modificá-lo para melhorá-lo.

Quando o seu letreiro eletrônico estiver operacional, muitos perceberão que nos sinais de linha contínua, à medida que o texto rola, aparece uma certa inclinação quase imperceptível das letras. A essência desse efeito é que a memória de vídeo e a exibição são processos assíncronos e, se a memória de vídeo for calculada de cima para baixo, a parte superior já foi movida de acordo com o algoritmo de rolagem para onde desejado, e os dados do ciclo de renderização anterior são também exibido abaixo. Isto é bom. Esquema, placa de circuito, placa de circuito, etc. - tudo está no arquivo para download.

Discuta o artigo ESQUEMA DE DISPLAY DE LED

Quando caminhamos pelas ruas da cidade, somos cercados por inúmeras estruturas publicitárias em movimento e brilhantes. Eles são instalados em edifícios, meios publicitários, aberturas de janelas de escritórios e cafés, e simplesmente fixados nas janelas dos carros. Eles também podem diferir muito uns dos outros em tamanho. No entanto, há uma coisa que une todos eles - sua base é uma linha de LED em execução.

Graças a um design como um quadro de avisos, muitas informações podem ser transmitidas aos consumidores. Pela primeira vez, os habitantes do Império Médio conseguiram responder à questão de como coletá-lo. E hoje qualquer pessoa pode fazer um ticker de LED com as próprias mãos. Uma regra importante: prepare com antecedência tudo o que você precisa para trabalhar.

O placar pode ser montado de forma independente a partir dos módulos e vários dispositivos listados abaixo. Mas na hora de montar tenha cuidado e siga as instruções.

O que você vai precisar?

A montagem de um ticker só é possível se você tiver em mãos:

  • placa-mãe - também chamada de controlador;
  • vários módulos LED;
  • um par de fontes de alimentação;
  • ímãs;
  • perfil e cantos em alumínio;
  • Fios de 2mm;
  • parafusos com parafusos auto-roscantes e selante;
  • serra, furadeira, chave de fenda.

Finalidade dos módulos LED

O display LED é considerado um portador de informações. Existem diversas variedades dependendo da paleta de cores:

  1. branco;
  2. vermelho;
  3. azul;
  4. verde;
  5. de várias cores.

Eles também são diferenciados por etapas entre pixels. As fontes de alimentação desempenham um papel importante - elas convertem a tensão de 220 V em 5 volts. São necessários fios para conectar a fonte de alimentação ao módulo. A montagem do ticker só é possível com a ajuda de ímãs. Perfis com cantos de alumínio após sua montagem constituem o corpo do display LED.

Considerando a finalidade do painel de LED, seu tamanho também é importante. Dependendo das dimensões do case, eles são divididos nas seguintes categorias:

  1. Os estreitos são uma excelente solução para publicidade em automóveis.
  2. Médio - utilizado para montar com as próprias mãos um placar de até 6 m.
  3. Largo - muito utilizado para cascos acima de 6 m;

Tipos de painéis LED

Processo de montagem de string

Vejamos o processo detalhado de construção de um ticker:

  • Colocamos os módulos sobre a mesa no sentido da esquerda para a direita. Nós os conectamos uns aos outros com fios junto com cabos de alimentação. Os módulos possuem soquetes correspondentes para fios.
  • Em seguida, conectamos o módulo usando guias. Coloque as guias nos módulos e aperte os parafusos.
  • Conectamos a fonte de alimentação ao controlador com um fio de 1,5 mm. Também possui um orifício para fixação de cabos e fios.
  • A placa-mãe está conectada ao módulo por meio de um cabo.
  • Uma fonte de alimentação com potência de 40 amperes será suficiente para 8 módulos.
  • Então você precisa selar tudo. Lubrificamos as juntas entre os módulos com selante. Esse trabalho deve ser feito com muito cuidado. Como resultado, você deve ter um ticker de LED selado e funcionando a partir de módulos digitais.

Painel de LED no carro

Nesta fase, observe as instruções de montagem do corpo do ticker:

  • Usando vários tamanhos perfil, você pode obter uma caixa do formato que desejar, na qual posteriormente colocará um painel de LED com um ticker.
  • Cortamos o perfil de alumínio de acordo com certas dimensões, mas reduzimos o comprimento em alguns milímetros. Usando os cantos montamos o corpo do nosso aparelho.
  • Colocamos a linha de rastreamento preparada, feita por nós mesmos, na caixa de alumínio. Fazemos um furo no case para retirar os fios de alimentação e a saída USB.
  • Recortamos o painel traseiro necessário de qualquer folha de metal. Usando parafusos auto-roscantes e uma chave de fenda, fixamos a caixa na base. Selamos todas as juntas com selante.
  • No final, você precisa programar a linha de LED rastejante do LED. O programa para eles varia em complexidade. Essas manipulações podem ser realizadas em qualquer software.


Se você levou em consideração todas as dicas e seguiu à risca as instruções de instalação do LED ticker, então tudo deve dar certo para você.

Onde o ticker é usado?

Ticker LED, graças ao seu características de design, permite montá-lo tanto em ambientes internos quanto externos. O produto é capaz de operar de forma autônoma, onde nem precisa estar conectado a um PC. Montar um ticker de LED por conta própria é muito popular hoje em dia.

É indispensável para divulgar diversos produtos e serviços. Como todos sabem, um objeto em movimento atrai muito mais atenção do que um objeto estacionário, e ao utilizar um letreiro eletrônico você terá uma estrutura publicitária estática e dinâmica. Você pode escolher o layout da linha crescente individualmente e também pode escolher o estilo de design do texto com base em suas próprias preferências;

Este dispositivo exibe texto em uma matriz de LED 8x 80 e possui uma memória de texto de 128 caracteres que é carregada a partir de um teclado de computador PS/2 conectado diretamente ao ticker.

Experimentei vários teclados e o aparelho funcionou sem problemas com cada um dos três.
O dispositivo possui todas as letras maiúsculas e minúsculas do russo, bem como números e outros caracteres, Letras inglesas Não.

O microcontrolador opera a uma frequência de 20 MHz e controla os registradores de deslocamento 74HC595D, que no nível lógico 1 acendem as matrizes de linha de LED, e o decodificador K555ID7 ou seu analógico completo 74LS138 controla 8 colunas de todas as matrizes através de transistores de amplificação.

As matrizes são conectadas aos registradores de deslocamento 74HC595D por meio de resistores que protegem os LEDs de queimarem, limitando a corrente.

Os microcircuitos 74HC595D possuem 8 gatilhos de travamento de dados nas saídas, conectados a uma matriz de LEDs, e 8 gatilhos de deslocamento, nos quais os dados são carregados através da 14ª entrada e da 9ª saída eles continuam a mudar para os próximos registros da cadeia de 10 peças.

Esta mudança requer um clock vindo do processador para todas as entradas do 11-74HC595D, após cada 80º ciclo de clock a cadeia de registros avança para o 80º trigger de todos os 74HC595Ds, após o qual, uma vez carregada toda a linha de 80 triggers, outro tipo de relógio é aplicado, desta vez às entradas 12, todos 74HC595D, após o qual 8 gatilhos de travamento de dados adicionais são carregados nas saídas conectadas à matriz de LEDs a partir de gatilhos de deslocamento em um ciclo de clock, em todos os 74HC595D em um ciclo de clock, a matriz ilumina uma faixa de 80 LEDs e esta iluminação ocorre sem alterar os níveis lógicos mesmo quando os registradores de deslocamento estão carregados.

É assim que 8 fileiras de 80 LEDs são classificadas por vez usando o decodificador K555ID7 em alta velocidade, que é completamente invisível a olho nu.

Este método é muito conveniente e não reduz o brilho da linha rasteira devido ao programa do processador deixar para realizar outras operações não relacionadas à exibição.

Quando ligado com a memória de letras vazia, exibe uma barra na parte inferior indicando que a memória não está cheia, após inserir pelo menos uma letra, a linha inicia seu trabalho classificando as linhas das matrizes; Aconselho não sobrecarregar as matrizes de baixa resistência com corrente, pois quando você liga a matriz com a memória de letras vazia, a linha inferior acende continuamente.

Gestão e entrada de dados

Quando precisar inserir uma letra maiúscula, você precisa pressionar e soltar o Shift esquerdo do teclado, a seguir pressionar a letra desejada e esta letra maiúscula aparecerá no display com a adição de letras subsequentes, o display se moverá um caractere; .
Após digitar o texto, é necessário pressionar a tecla Ctrl esquerda do teclado, isso indicará o texto concluído, após o qual a linha passará para a próxima rodada.

Se você cometeu um erro ao digitar, digitou uma letra desnecessária, então você precisa pressionar a tecla BackSpace quantas vezes você digitou as letras desnecessárias, após o que você precisa inserir as letras corretas, enquanto as letras antigas não desaparecem no display, eles desaparecerão quando você iniciar a linha e no próximo círculo de display eles não estarão mais lá.
Para iniciar o dispositivo de exibição de letras em execução, pressione Enter.
Após o comando Enter iniciar a linha, o texto não muda mais para inserir novas informações, o dispositivo deve ser desligado e ligado novamente, então você pode inserir o texto no lugar do antigo.

Para inserir caracteres (!@#$%:?), você precisa pressionar o Shift esquerdo e depois soltar as teclas com os números 1234567 acima das letras, onde estão desenhadas - para que você não precise pesquisar.

O sinal de traço (-) é simplesmente pressionado na tecla próxima a zero.

Para inserir um ponto final ou vírgula, pressione a tecla ao lado da letra Y, se for uma vírgula, e pressione primeiro Shift.

Ticker com teclado de computador e memória de 8192 letras

Posteriormente, foi desenvolvida outra versão do ticker com memória de 8.192 letras. Neste projeto, as letras também são carregadas de um teclado de computador PS/2 na memória flash 24C62. É muito conveniente ter vários microcircuitos e trocá-los se precisar de um texto diferente.

Diagrama esquemático de um ticker com memória:

Lista de radioelementos

Designação Tipo Denominação Quantidade ObservaçãoComprarMeu bloco de notas
U1 MK PIC 8 bits

PIC16F628A

1 Para o bloco de notas
U2-U11 Registro de deslocamento

CD74HC595

10 Para o bloco de notas
Sub12 Codificador, decodificador

SN74LS138

1 Análogo 555ID7 Para o bloco de notas
Sub13 Memória flash24С641 Utilizado com opção de montagem com memória de 8.192 letras. Para o bloco de notas
Q1-Q8 Transistor bipolar

2N2905

8 Para o bloco de notas
C1, C2 Capacitor15 pF2 Para o bloco de notas
C3 Capacitor3300 pF1 Para o bloco de notas
Capacitor0,1 µF13 Conecta-se à fonte de alimentação de cada chip Para o bloco de notas
R1-R8, R49, R50 Resistor

4,7 kOhm

10 Para o bloco de notas
R9-R48, R51-R90 Resistor

470 ohms

80

Olá amigo! Hoje vou contar como funciona o “placar - linha rastejante” por dentro. Se você, querido amigo, já tem uma ideia sobre como um raio percorre as telas de um cinescópio, sobre registros de deslocamento e memória de vídeo, fique à vontade para rolar até o final deste documento, e lá você encontrará tudo (implementação com drivers seriais). Você pode estar interessado em dar uma olhada neles

Por que tudo isso apareceu em domínio público? Com o tempo, os componentes eletrônicos tornam-se um tanto obsoletos, microcircuitos mais baratos, outros invólucros, novos protocolos e interfaces aparecem. O que há alguns anos era um milagre da tecnologia e um produto totalmente competitivo, hoje já parece maravilhoso, e a produção custará uma vez e meia mais do que seria possível se o desenvolvimento fosse redesenhado de acordo com os padrões modernos. Tudo o que será descrito a seguir funciona muito bem, mas se eu tivesse a tarefa de fazer um dispositivo semelhante, não hesitaria em redesenhar o lenço para novos componentes. No entanto, do ponto de vista educacional, todos os diagramas acima são de algum interesse.

Aqui e a seguir, todos os módulos e técnicas utilizadas neste dispositivo serão descritos sucessivamente, de acordo com o princípio de um dispositivo simples a um dispositivo acabado. O artigo é baseado em um desenvolvimento específico, portanto uma breve descrição de seus parâmetros:

  • Número de linhas no display (LEDs): 16 ou 2x8
  • Número de colunas no placar (LEDs): 1..256 (conforme necessário)
  • Modos de rolagem de texto: todos possíveis
  • Outros: Relógio, calendário, conexão com PC via porta COM, termômetro, etc.

Como as lâmpadas acendem.

Como já mencionado, na versão descrita do display de linha crescente, são utilizados 256 * 16 LEDs vermelhos. A primeira questão que um engenheiro iniciante pode enfrentar é: como todos eles estão conectados? Quantos contatos você precisa? Com efeito, com um esquema de ligação simples, quando o LED é ligado directamente ao chip de controlo, o número de contactos será proibitivo, portanto, em dispositivos de visualização como placares, etc., é utilizado um circuito de comutação matricial, que permite reduzir o número de contatos de controle envolvidos em várias vezes.

O circuito de comutação dos LEDs é bastante simples: imagine que cada LED de uma fileira tenha um contato comum e em cada fileira o mesmo. Para maior clareza, você pode ver a imagem abaixo.


Como gerenciar tudo isso? É muito simples: você pode aplicar um “mais” a uma linha, conectar a coluna (necessária) a um “menos” e então a luz desejada acenderá.

É verdade que há uma nuance não trivial: as imagens abaixo mostram opções típicas para a operação do sistema de linha rastejante do placar.



Se tudo estiver muito claro sobre os casos a e b, então o caso c não é trivial: para acender simultaneamente diferentes LEDs em diferentes linhas e colunas (por exemplo, diagonalmente, como mostrado na imagem), você precisa usar este método complicado: primeiro, o LED na linha superior, a luz fica acesa por um tempo (neste momento o microcontrolador de controle pode fazer outras coisas úteis), então a tensão da primeira linha é removida e aplicada à segunda, e os microcircuitos responsáveis ​​​​por quais colunas estão conectadas aos pontos negativos e quais devem ser deixadas no ar, eles também enfrentam um novo problema. A luz na linha inferior acende por um tempo, depois a tensão é aplicada novamente na linha superior e assim por diante durante o ciclo. Como a mudança das linhas ativas ocorre muito rapidamente (na velocidade máxima disponível para o processador), os olhos não têm tempo de ver o que está acontecendo e parece que todo o sinal está queimando uniformemente.

Todos os monitores CRT e TVs funcionam com um princípio semelhante: em um determinado momento, não apenas uma linha pode ser acesa, mas geralmente apenas um único ponto que vai da esquerda para a direita, de cima para baixo, e em coordenadas específicas apenas o brilho do feixe de luz é ajustado. Como o raio percorre a tela em alta velocidade, o olho humano também não tem tempo para avaliar corretamente o que está acontecendo e parece que não é um ponto, mas uma imagem inteira que brilha na tela.

Acho que tudo está claro sobre o esquema de troca de matrizes e podemos passar para coisas mais interessantes.

Circuito de controle de matriz de LED.

Portanto, conforme descrito anteriormente, você precisa aplicar tensão alternadamente nas linhas da matriz de LED e, de alguma forma, definir os níveis nas colunas.

O controle de linha pode ser implementado em qualquer transistor que seja capaz de fornecer a corrente necessária (calculada a partir da corrente máxima consumida por todos os LEDs em uma linha ao mesmo tempo). Cada transistor abre ou fecha o controle MK conforme a necessidade, veja figura abaixo.



Para controlar as colunas da matriz de LED, podem ser usados ​​registradores de deslocamento. Na verdade, seu principal objetivo é substituir o controle paralelo de todas as colunas da matriz pelo controle sequencial. O número de colunas possíveis na tabela pode ser bastante grande (256-512), e praticamente nenhum MK é capaz de controlar diretamente tal número de entradas.

Os registradores de deslocamento são microcircuitos digitais especiais que operam em sincronia com o MK principal da placa, que os sincroniza na entrada correspondente. Cada ciclo do MC pode definir um (único) zero ou um para a entrada de dados do registrador de deslocamento, ele será gravado na primeira célula de memória do registrador de deslocamento (no total, cada um deles pode ter um número diferente, no nosso caso é 16). No próximo ciclo de clock, o primeiro bit gravado vai para a segunda célula de registro, e o primeiro recebe o que o MK enviou para a entrada, ou seja, a cada ciclo subsequente de operação, a sequência de bits se aprofunda no registro. Os registradores de deslocamento também podem ter uma saída - a saída é como uma continuação da cadeia, ou seja, após preencher a última célula do registrador, no próximo ciclo de clock suas informações não apenas desaparecerão, mas serão enviadas para a saída, ao qual o próximo registrador de deslocamento pode ser conectado. Desta forma, você pode criar cadeias arbitrariamente longas que são preenchidas através de um canal serial e convertê-las em uma saída “paralela” bastante longa. No nosso caso, o registrador de deslocamento terá largura de 8 bits e haverá um total de 32 desses microcircuitos no circuito, o que permitirá definir uma sequência de bits para 256 linhas de LEDs.

Na verdade, o ticker board não utiliza apenas registros de deslocamento, mas algumas modificações, com funções especiais (driver de LED MBI5026 (pdf)) que são necessárias apenas neste sistema, como:
1) controle do brilho de vários LEDs, um resistor externo especial (um para cada chip de registro de deslocamento),
2) uma linha de controle especial para cada microcircuito, correspondente ao comando: enviar informações para a saída paralela (nos ciclos de preenchimento, os bits simplesmente passam pela cadeia de registros, e as saídas contêm informações antigas, e por este comando (mais para a linha) os registradores atualizam todas as suas saídas de conteúdo recém-baixado da memória.



SDI - entrada serial de dados (do microcontrolador ou do anterior na cadeia do registrador de deslocamento)
CLK - cronometragem
LE - sinal para transferir o conteúdo do buffer serial interno para registradores de saída
OUT0..15 - bits de saídas paralelas
OE - interruptor de saída paralela
SDO - saída de dados seriais para o próximo chip (passados ​​​​por 16 bits de registro)

A cadeia de registradores de deslocamento (drivers de linha de LED) pode ser vista na placa à esquerda (chips DIP longos). Transistores ligando as linhas, canto inferior direito



Assim, após a leitura, o leitor deverá entender como todas as linhas e colunas são gerenciadas no ticker board, por precaução, há outra imagem explicativa logo abaixo;

O que é memória de vídeo?

Já sabemos como controlar a matriz, fazendo acender as lâmpadas necessárias, agora queremos saber como calcular quais lâmpadas devem acender e quais não devem, para que alguma informação significativa seja desenhada na placa, por exemplo, as mesmas letras e números.

Em todos os dispositivos digitais com tela, via de regra, há uma divisão: algumas partes do aparelho são responsáveis ​​​​por calcular o que precisa ser exibido, e outras controlam o próprio mecanismo de exibição. No nosso caso, tudo isso (calcular o conteúdo da memória de vídeo e carregar informações em registradores de deslocamento para exibir o conteúdo de uma linha) é feito por um microcontrolador (porque a tarefa geralmente é simples), porém, no MK, assim como em no PC, existe uma memória de vídeo (em vez de um design de software), a partir da qual as linhas do próprio placar são exibidas por meio de um temporizador. A memória de vídeo deve ser preenchida com algo, no caso de um ticker - uma linha de texto localizada em algum lugar dependendo do tipo de efeito (rolagem vertical ou horizontal) e do modo de exibição (uma linha grande, duas pequenas linhas independentes).

Fontes na exibição do ticker

Não demorou muito para encontrar e instalar fontes pela primeira vez: o artigo sobre a russificação de adaptadores EGA antigos foi muito útil, eu realmente não li a essência, o sinal que correspondia aos códigos binários das letras e especiais símbolos imediatamente chamaram minha atenção, era mais ou menos assim:

(0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E),

Assim, as fontes são descritas em sistemas onde cada caractere ocupa 8 por 8 pixels: então 0x7E, esta é a linha superior de um ícone ou letra, em representação binária: 01111110, onde 1ki significa que o ponto deve ser branco e 0 preto, e assim por diante ao longo das linhas

A letra russa "a" será representada como



o protótipo abreviado do letreiro já pode exibir palavras

Texto em execução.

Nesta fase já é possível exibir texto estático na tela, partindo do ponto desejado, agora há o desejo de de alguma forma distorcer esse texto de forma astuta. Obviamente, é necessário mudar gradativamente o ponto a partir do qual o texto começa a ser impresso na memória de vídeo, e a partir desse novo ponto fazer o programa repetir a operação de preenchimento da memória de vídeo com os bits que compõem as fontes.

Processos semelhantes de recálculo do conteúdo da memória de vídeo ocorrem em um PC normal quando é necessário alterar o conteúdo da tela, porém, existem algumas nuances: microcontroladores baratos não conseguem calcular toda a memória de vídeo em um curto espaço de tempo, tentativas de implementar tal algoritmo levou a atrasos bastante grandes no processo de atualização da tela. Devido ao fato de o mesmo processador ser responsável por recalcular a memória de vídeo e enviá-la linha por linha para os registradores de deslocamento, ambas as operações sofrem, e o atraso na saída das linhas leva a um aumento no tempo de exibição de cada uma, e os olhos começar a ver uma cintilação desagradável em toda a matriz. Se não houver tempo suficiente, o olho não verá a matriz inteira, mas apenas uma linha ardente em cada momento, correndo de cima para baixo.

Em um PC, tal problema não pode existir em princípio, pois a CPU é responsável pelo cálculo da memória de vídeo e seu novo preenchimento, e a placa de vídeo é responsável pela saída para a tela do monitor. Por um lado, ninguém se preocupa em repetir a mesma arquitetura na “linha rastejante”, mas isso levaria a um aumento no custo de toda a placa controladora matricial. Porém, devido ao fato de o conjunto de tarefas resolvidas pelo display MC ser bastante limitado e se resumir à simples saída de texto, esse problema geralmente é resolvido pela renderização linha por linha da memória de vídeo.

Calcular alterações em uma linha leva muito pouco tempo, que pode ser dedicado à saída para a matriz (deixe queimar um pouco), então você pode passar para a próxima. Embora este algoritmo de ações possa variar significativamente dependendo do MC utilizado. Como disse no início, este desenvolvimento está um tanto desatualizado, em parte porque utilizou o AVR mega128 CM, que já foi bastante funcional, mas seu poder computacional de 16 MHz não é suficiente para utilizar outros algoritmos para este problema, embora seja poderia ser resolvido e cálculo assíncrono de memória de vídeo e exibição usando diferentes temporizadores.

Provavelmente muitos já notaram que os sinais apresentam uma linha rasteira, ao rolar o texto aparece alguma inclinação perceptível das letras (como se estivessem escritas em itálico). Este efeito aparece justamente devido ao fato de que a memória de vídeo e a exibição são processos assíncronos, e se a memória de vídeo for calculada de cima para baixo, então a parte superior já se moveu de acordo com o algoritmo de rolagem para onde desejado, e os dados da renderização anterior ciclo também é exibido abaixo.

Em geral, não há nada de especial para escrever sobre os efeitos do movimento do texto; esta é uma tarefa simples de programação;

Programa de controle de PC

Tudo é bastante simples aqui: compomos um determinado array de linhas que precisam ser roladas em loop, com parâmetros para sua rolagem. Em seguida, mesclamos tudo isso na EEPROM da placa controladora do ticker via RS-232. Implementado, é claro, em DELPHI, porque esse tipo de bobagem é criado mais rapidamente.


No meu pobre lançamento, parecia algo assim ...

Ligações

Diagrama esquemático do quadro de avisos PDF, GIF (grande, salvar em disco)

Programação de adaptadores de vídeo CGA, EGA e VGA. A partir daqui, baixei uma tabela de fontes ASCII quase finalizada escrita em hexadecimal. Para finalmente adaptá-lo à linguagem C, foi necessário fazer apenas algumas substituições contextuais.

Fontes do meu firmware Alguma perversão, o array do link acima foi tomado como base, depois foi “Russificado”, ou seja, letras russas foram adicionadas à placa principal DOS ASCII para total compatibilidade com o software de gerenciamento WINDOWS

Acho que não adianta anexar o arquivo de fiação e firmware, pois repetir a modificação da linha de execução descrita acima em nosso problemático MBI5026 no pacote DIP já foi descontinuado, precisamos religá-lo para SOIC, ou melhor ainda, para outro processador do tipo ARM (será ainda mais barato) SDK) para escrever plugins. Demora algumas horas para descobrir. O Winamp fornece todos os tipos de dados de entrada para decodificar o formato mp3, com a ajuda dos quais uma aparência de analisador espectral é desenhada no próprio player. Mas isso não basta para nós, queremos tudo de verdade e na parede de uma vez :-). Assim, o princípio de funcionamento é intuitivo, comunicação com um PC via RS232 (suficiente para bombeamento de dados em tempo real).


À esquerda da placa está uma placa com um controlador e uma fonte de alimentação AT que alimenta tudo
Entre os sinos e assobios, eu também queria rolar o nome da música assim que ela começa (como é feito no próprio Winamp, mas ficou com preguiça)
Aqui vai uma ideia para os entusiastas do tuning de carros: você pode transformar todo o interior da tampa do porta-malas em uma coisa tão piscante, para que quando ela abrir (a tampa está a 90 graus) haja uma excelente visão por trás das colunas vermelhas saltando para uma música alta e matadora.
Se desejar, tudo pode ser implementado em uma versão sem Winamp e sem computador, de forma totalmente autônoma, ficará ainda melhor.


E claro, um filme engraçado mostrando como tudo funcionou.
O som chia um pouco porque é amplificado por esse milagre.

Um filme ainda mais divertido, interpretando “lenhadores”.

Bandeira eletrônica

Na verdade, uma versão abreviada do placar é uma linha contínua (64 colunas) amarrada em uma vara. Alimentado por bateria UPS de 12 volts, suficiente para 2 horas de operação. O controle (eu tenho um banner legal, você pode alterar as inscrições nele na hora) ocorre diretamente do teclado conectado diretamente ao microcontrolador AVR (ou seja, os scancodes transmitidos pelo teclado através de sua porta serial são lidos)
Modos de rolagem de texto: horizontal, vertical, estático (uma palavra curta), piscando estático. Por conveniência, as teclas de atalho F1-F4 foram usadas para indicar o modo de rolagem + Caps-lock para alterar o idioma de entrada (o banner acabou sendo multilíngue :-)). Era um pouco inconveniente escrever no teclado, localizado nos joelhos e sem tela, embora também fosse utilizado o backspace.


Se divertindo nas competições de robôs móveis em 2008. Já como espectadores :-)

Conclusão

Esse é o tipo de bobagem que eu fazia no meu quarto ano, em vez de assistir a palestras ou trabalhar nas nossas. Essa coisa toda da placa fazia parte de um projeto aparentemente comercial, que nunca terminava em nada. Porém, naquela época eu estava muito interessado em tentar ser um programador de sistemas embarcados e, no geral, tudo deu certo. Eu também queria escrever uma tese sobre o tema ticker tape, mas surgiu um tema que era mais interessante naquele momento: redes neurais! :-)

Bem, isso é tudo, espero que tenha sido interessante.

Sempre seu, Nikolay

 

Pode ser útil ler: