Linha de execução de painéis publicitários de LED faça você mesmo.  Instruções para montar linhas de corrida de LED com suas próprias mãos.  Gerenciamento e entrada de dados

Linha de execução de painéis publicitários de LED faça você mesmo. Instruções para montar linhas de corrida de LED com suas próprias mãos. Gerenciamento e entrada de dados

Montar uma marquise baseada em uma matriz de LED e Arduino é uma tarefa simples que pode ser feita até mesmo em casa. Você não precisa ser um programador e ter conhecimentos profundos de eletrônica para fazer as letras se moverem em um display de LED. Neste artigo, analisaremos como montar uma linha de corrida a partir de matrizes de LED prontas e Arduino Nano.

O que será necessário?

Para implementar a ideia, você precisa de poucos detalhes:

  • dois módulos de LED, compostos por quatro matrizes de 8 por 8 pixels;
  • suporte para bateria de tamanho padrão "Krona";
  • bateria de 9 volts (CR-9V, ER-9V ou equivalente);
  • interruptor de dois pinos;
  • fios de ligação;
  • Placa Arduino Nano;
  • Cola quente.

Esquema

Na placa de circuito impresso do módulo LED utilizado, existem 4 matrizes de 8 por 8 pixels de tamanho. Cada placa de LED é controlada por um circuito integrado (IC) MAX7219. Este IC é um controlador para controlar displays de LED, matrizes de cátodo comum e LEDs discretos em uma quantidade de até 64 unidades.

Para uma percepção mais confortável das informações exibidas no display de LED, recomenda-se a instalação de vários módulos. Para fazer isso, eles são combinados em grupos conectados em série, ou seja, a saída do primeiro módulo (saída) é conectada à entrada do segundo módulo (entrada). Esta montagem consiste em dois módulos (16 matrizes), cujo comprimento é suficiente para a leitura conveniente de frases inteiras.

Conjunto

O módulo de matriz pode ter uma conexão de pinos ou contatos na placa na forma de condutores impressos. Depende de como eles estão conectados. No primeiro caso, um chicote com conectores é usado para obter um contato elétrico confiável e, no segundo caso, os jumpers deverão ser instalados e soldados.

Mas primeiro você precisa combinar os dois módulos em uma única unidade usando adesivo hot melt. O adesivo termoplástico não conduz eletricidade, o que significa que pode ser aplicado com segurança na placa de circuito impresso. A cola é aplicada nas pontas de ambas as placas, pressionada e deixada por vários minutos. Após o endurecimento, os contatos de saída do primeiro bloco são conectados aos contatos de entrada do segundo bloco de acordo com o esquema:

  • VCC - VCC
  • GND-GND
  • D ENTRA – D SAI
  • CS–CS
  • CLK - CLK

A PARTIR DE lado reverso placa de circuito impresso usando cola quente, prenda o Arduino Nano, o compartimento da bateria e o interruptor. Os detalhes são organizados de forma que possam ser convenientemente usados.
Na próxima etapa, o Arduino é conectado ao módulo LED conectando os fios à entrada da primeira matriz. Dependendo da versão do módulo, a operação é realizada através de uma conexão destacável ou por soldagem conforme esquema abaixo:

  • VCC-5V
  • GND-GND
  • D IN - PIN 11
  • CS-PIN 10
  • CLK - PIN 13.

Na etapa final da montagem, é necessário conectar a energia da bateria. Para fazer isso, o contato negativo (fio preto) do compartimento da coroa é conectado ao pino GND do Arduino. O contato positivo (fio vermelho) é conectado ao switch e, em seguida, ao pino 30 do Arduino, projetado para fornecer tensão de uma fonte não regulada. No modo de teste, um ticker faça você mesmo pode ser alimentado via micro USB de um computador.
Depois de verificar a confiabilidade dos fixadores e a qualidade das conexões elétricas, eles começam a montar o gabinete. Pode ser feito de perfil de alumínio ou plástico, pois os elementos do circuito não esquentam. A cor, dimensões, grau de proteção e fixação do invólucro dependem do uso futuro do dispositivo. Adequado no caso mais simples tela de proteção de um perfil de canto de plástico de construção com um recorte para um interruptor.

Programação Ticker

A linha de execução dos módulos Arduino e LED sob controle do MAX7219 está quase pronta. É hora de passar para a parte final do programa. O computador deve ter Programas(Software) para o Arduino usado e o driver para ele. Em seguida, você precisa baixar duas bibliotecas e um esboço (um programa especial que será carregado e executado pelo processador Arduino). As bibliotecas são instaladas com a IDE do Arduino fechada na pasta Documentos - Arduino - Bibliotecas. Em seguida, eles baixam e executam o esboço e verificam a presença de bibliotecas e a exatidão de outros dados.

Configuração do esboço:

  • "número de exibições horizontais" indica o número de linhas, no nosso caso 1;
  • "number of vertical displays" indica o número de matrizes, no nosso caso 8;
  • "fita de barbante" indica a inscrição exibida no visor;
  • "int wait" define a velocidade de saída em milissegundos.

Depois de verificar os dados inseridos, resta clicar no botão "download". Em seguida, desconecte do PC, insira a bateria e inicie o dispositivo.

Concluindo, gostaria de acrescentar que a linha de corrida faça você mesmo é montada rapidamente, mesmo sem as habilidades de trabalhar com o Arduino. Portanto, você não deve ter medo desse quadro intrincado. É importante notar também que a linha de execução pode ser aumentada aumentando o número de matrizes de LED.

Leia também

É quase impossível montar uma linha de corrida em LEDs de design industrial, sem as habilidades de programação de microcontroladores e conhecimento de protocolos de troca de dados. abaixo está circuito simples pequena placa de LED. Se você não tem medo de dificuldades e não quer pagar a mais pelo produto acabado, pode adquirir módulos básicos a partir dos quais o produto será montado.

Mas gostaria de falar sobre uma solução não padronizada para o problema com investimento financeiro mínimo - como fazer uma linha contínua de LEDs usando o Arduino como controlador.

Diagrama esquemático de uma linha em execução em LEDs

O controlador interage através de uma interface especial com dispositivos de entrada externos. Pode ser um teclado normal, computador, smartphone. Com base nos dados recebidos, é formada uma matriz de imagem digital completa, que é posteriormente exibida em uma placa com indicadores.

A automontagem da marquise pode ser feita no módulo de controle baseado em Arduino e em vários blocos de LED no controlador

O módulo consiste em um controlador e um bloco de LED 8x8. Esse tamanho de elemento é o mínimo para a saída de caracteres. O fato é que todas as impressoras matriciais formavam uma imagem para impressão com base nesse formato.

controlador max7219

O controlador max7219 é uma troca de informações de 64 células e uma unidade de interface de memória para controlar LEDs. Na memória, todos os dados são armazenados como uma matriz bidimensional.

A informação é transmitida através da interface SPI. SPI é uma interface de três fios para transferência de dados bidirecional entre dispositivos. Você pode ler mais sobre o princípio de funcionamento desta interface.

Para a interação do controlador com a placa Arduino, são utilizados apenas três canais: DIN, CS, CLK.

Até quatro desses módulos de led podem ser conectados aos conectores padrão da placa controladora, criando um placar de 8 x 32 pontos. Para aumentar o número de segmentos conectados, você pode montar um multiplexador simples que comutará os sinais de controle para o módulo desejado. Assim, é possível exibir informações sobre dezenas de matrizes. A operação de todos os monitores LCD baseia-se neste princípio.

Para facilitar a transferência do fluxo de dados para o arduino, existe uma biblioteca especial LedControlMS.

Este é um vídeo de um exemplo da biblioteca trabalhando com um display de LED:

Você pode ler mais sobre controle de matriz usando um microcontrolador no link.

Interface de entrada de informações para saída subsequente para a matriz de LED

Para alterar o texto exibido a seu critério, você precisará de um dispositivo de entrada.

Formas de transferir informações para o controlador Arduino:

  • via teclado com interface PS2;
  • através do teclado do software;
  • via smartphone.

Existem muitas opções para troca de dados com a controladora, além da conexão padrão a um computador via protocolo ICP.

O Arduino IDE possui uma biblioteca integrada para trabalhar com o teclado PS2. Você pode usar módulos de software para trabalhar com o teclado padrão de oito botões do Arduino. A organização da entrada é construída sobre o princípio celulares, quando vários caracteres estão "pendurados" em um botão. Ao conectar um módulo bluetooth à placa Arduino, é possível transmitir informações de teste via smartphone.

Quando você entender a organização da marquise nos módulos Arduino padrão, poderá passar para a próxima etapa.

A placa "" é fácil de montar com as próprias mãos, sendo composta por vários módulos de placa com passo de 10, 13, 16 mm de uma ou mais cores, fonte(s) de alimentação, controlador de controle, conjunto de conectar cabos e software.

Cada módulo de placa possui furos roscados no verso para fixação no corpo. Os módulos são projetados para instalação externa e são completamente vedados por fora. Quando instalado no invólucro, é necessário vedar os módulos, para os quais existe uma junta de silicone no kit. Para vedação adicional, é desejável vedar adicionalmente as juntas entre os módulos com silicone de polimerização sem ácido. Ao mesmo tempo, é impossível preencher a ranhura localizada ao redor da circunferência do módulo com silicone, ela é projetada para drenar a água. Os módulos são montados em um painel plano com recortes para conexões elétricas e ventilação (resfriamento). Por exemplo, um painel de caso para instalar três módulos se parece com isso:

Cada módulo de exibição possui um conector de fonte de alimentação e dois conectores de sinal. Os conectores de sinal são do mesmo tipo, mas um conector é de entrada e o segundo é de saída. Ao conectar a energia, é usado um fio vermelho (pino VCC - +5 Volts) e um fio preto (pino GND - Comum). Todos os módulos são conectados em paralelo a uma fonte de alimentação. Se duas ou mais fontes de alimentação estiverem instaladas no monitor, os módulos serão distribuídos uniformemente entre as fontes de alimentação, todos os módulos serão conectados em paralelo através da linha GND e cada grupo será conectado à sua própria fonte de alimentação separadamente através da linha de alimentação VCC .

Os conectores de sinal nos módulos são marcados como IN e OUT (por exemplo, JIN, JOUT ou setas para o conector - esta é a entrada, do conector - esta é a saída). Uma linha de execução simples, quando há poucos módulos e eles são dispostos em uma linha, tem uma conexão simples - o cabo do controlador é conectado ao módulo direito à entrada, a saída do módulo direito é conectada à entrada do o próximo módulo, e assim por diante. O cabo de sinal está marcado com a primeira linha em vermelho. Ao conectar os conectores, é necessário observar a orientação dos conectores - eles são marcados com o primeiro contato. Módulos em displays mais complexos são conectados em grupos à saída do controlador. Se não houver saídas do controlador suficientes, uma placa de expansão de saída é instalada - um hub. O esquema de inclusão dos módulos neste caso é especificado na compra do kit.

A fonte de alimentação e o controlador são fixados dentro da vitrine em um local conveniente. A fonte de alimentação pode aquecer significativamente, por isso é melhor fixá-la na parede traseira e é desejável fazer a parede traseira com um material condutor de calor (metal, composto de alumínio).

Antes de instalar a placa, ela deve ser verificada. Para fazer isso, você precisa instalar o programa de controle em seu computador e seguir as etapas indicadas na descrição do programa.

Olá, meu amigo! Hoje vou falar sobre como funciona o "placar - linha de corrida" por dentro. Se você, caro amigo, já tem uma ideia de como o raio percorre as telas do cinescópio, sobre registradores de deslocamento e memória de vídeo, fique à vontade para percorrer este dock até o final e lá você encontrará tudo (implementação com drivers seriais). Você pode estar interessado em vê-los

Por que tudo isso está em aberto? Hora extra componentes eletrônicos tornam-se um tanto desatualizados, microcircuitos mais baratos, outros casos, 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 fosse instruído a fazer tal dispositivo, não hesitaria em redesenhar o lenço para novos componentes. No entanto, em um sentido educacional, todos os diagramas acima são de algum interesse.

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

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

Como as lâmpadas são acesas.

Como já mencionado, na versão descrita da placa, a linha de corrida usa 256 * 16 LEDs vermelhos. A primeira pergunta que um engenheiro iniciante pode enfrentar é: como todos eles estão conectados? De quantos contatos você precisa? De fato, com um esquema de conexão simples, quando o LED é conectado diretamente ao microcircuito de controle, o número de contatos será proibitivo; reduzir várias vezes o número de contatos de controle envolvidos.

O esquema para ligar os LEDs é bastante simples: imagine que cada LED em uma linha tenha um contato comum e em cada linha seja exatamente o mesmo. Para maior clareza, você pode ver a imagem abaixo.


Como administrar tudo isso? E é muito simples: você pode aplicar um "mais" à linha, conectar a coluna (necessária) ao "menos" e a luz desejada acenderá.

É verdade que existe uma nuance não trivial: as fotos 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 é nada trivial: para acender diferentes LEDs ao mesmo tempo em diferentes linhas e colunas (por exemplo, na diagonal, conforme mostrado na figura), você precisa para aplicar um método tão complicado: primeiro, o LED na linha superior, por um tempo a luz fica acesa (neste momento o microcontrolador de controle pode fazer outras coisas úteis), então a tensão é removida da primeira linha e alimentada na segunda , e os microcircuitos responsáveis ​​​​por quais colunas conectar aos negativos e quais deixar no ar, eles também recebem uma nova tarefa. Por um tempo, a luz na linha inferior fica acesa, então a tensão é novamente aplicada à linha superior e assim por diante durante o ciclo. Como a mudança das linhas ativas ocorre muito rapidamente (com a velocidade máxima disponível para o processador), os olhos não têm tempo de considerar o que está acontecendo e parece que toda a placa está queimando uniformemente.

Todos os monitores cinescópios e televisões funcionam de acordo com um princípio semelhante: ali, em um ponto no tempo, não apenas uma linha pode queimar, mas em geral apenas um único ponto que vai da esquerda para a direita, de cima para baixo, e apenas o brilho de o feixe de luz é regulado em coordenadas específicas. Como o raio atravessa a tela em alta velocidade, o olho humano também não tem tempo de avaliar corretamente o que está acontecendo e parece que não é toda a imagem que aparece na tela, mas toda a imagem.

Acho que está tudo claro sobre o circuito de comutação de matriz e você pode passar para coisas mais interessantes.

Circuito de controle de matriz de LED.

Portanto, como já descrito anteriormente, é necessário aplicar tensão alternadamente nas linhas da matriz de LEDs e, de alguma forma, definir os níveis nas colunas.

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



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

Os registradores de deslocamento são microcircuitos digitais especiais que trabalham em sincronia com o MK principal da placa, que os cronometra na entrada correspondente. Cada ciclo do MK pode definir um (único) zero ou um para a entrada de dados do registrador de deslocamento, ele será escrito na primeira célula de memória do registrador de deslocamento (pode haver um número diferente em cada um deles, em nosso caso seja 16). No próximo ciclo, o primeiro bit registrado vai para a segunda célula do registrador, e o primeiro recebe o que o MK aplicou na entrada, ou seja, a cada próximo ciclo de trabalho, a sequência de bits entra no registro cada vez mais fundo. Os registradores de deslocamento também podem ter uma saída - a saída é como uma continuação da cadeia, ou seja, após a última célula do registrador ser preenchida, no próximo ciclo suas informações não apenas desaparecerão, mas serão enviadas para a saída, para a qual o próximo registrador de deslocamento pode ser conectado. Assim, você pode criar cadeias arbitrariamente longas que são preenchidas por meio de um canal serial e transformá-lo em uma saída "paralela" bastante longa. No nosso caso, a largura de bits do registrador de deslocamento será 8 e, no total, haverá 32 desses microcircuitos na cadeia, o que eventualmente permitirá definir uma sequência de bits para 256 linhas, LEDs.

Na verdade, não apenas os registradores de deslocamento são usados ​​no painel de controle, mas algumas modificações, com funções especiais (LED driver MBI5026 (pdf)), que são necessárias apenas neste sistema, como:
1) controlar o brilho de vários LEDs com um resistor externo especial (um para cada chip registrador 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 registradores e as saídas contêm informação antiga, e neste comando (mais por linha), os registradores atualizam todas as suas saídas com conteúdos recém-baixados da memória.



SDI - entrada de dados seriais (do microcontrolador ou do anterior na cadeia de registradores de deslocamento)
CLK - cronometrando
LE - sinal de transição do conteúdo do buffer serial interno para registradores de saída
OUT0..15 - bits das saídas paralelas
OE - interruptor para saídas paralelas
SDO - saída de dados seriais para o próximo chip (passado pelos 16 bits do registrador)

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



Assim, após a leitura, deve ficar claro para o leitor como todas as linhas e colunas são gerenciadas no placar-marca, só por precaução, há mais uma figura explicativa logo abaixo.

O que é memória de vídeo.

Já sabemos como controlar a matriz, forçando o acendimento das lâmpadas necessárias, agora queremos saber como calcular quais lâmpadas devem acender e quais não devem, para que algumas informações significativas sejam desenhadas na placa, por exemplo, as mesmas letras e números.

Em todos os aparelhos digitais com tela, via de regra, há uma separaçã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 enviar informações para os registradores de deslocamento para exibir o conteúdo da linha) é tratado por um microcontrolador (porque a tarefa geralmente é simples), porém, no MK, como assim como no PC, existe uma memória de vídeo (e não um design de software) , a partir da qual o cronômetro exibe as linhas do próprio placar. A memória de vídeo deve ser preenchida com algo, no caso de um placar de rolagem - com 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 no ticker do placar

Não demorou muito para pesquisar e instalar as fontes pela primeira vez: o artigo sobre a russificação dos antigos adaptadores EGA ajudou muito, não entrei muito na essência, notei imediatamente um sinal correspondente aos códigos binários para letras e caracteres especiais, a visão é algo como isto:

(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, bem , mais adiante nas linhas

A letra russa "a" será representada como



um protótipo de tablet reduzido já sabe como exibir palavras

Texto em execução.

Nesta fase, já é possível exibir um texto estático na tela, a partir do ponto desejado, agora existe o desejo de de alguma forma torcer esse texto de forma astuta. Obviamente, você precisa mudar gradativamente o ponto a partir do qual o texto começa a ser impresso na memória de vídeo, e a partir deste novo ponto fazer o programa repetir a operação de encher a memória de vídeo com os bits que compõem as fontes.

Processos semelhantes de recalcular o conteúdo da memória de vídeo ocorrem em um PC comum quando é necessário alterar o conteúdo da tela; no entanto, existem algumas nuances: microcontroladores baratos não conseguem calcular toda a memória de vídeo em pouco tempo, as tentativas de implementar esse algoritmo levaram a atrasos bastante grandes no processo de atualização da tela. Devido ao fato de que o mesmo processador é 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 cintilação desagradável de toda a matriz. Se não houver tempo suficiente, o olho não verá toda a matriz como um todo, mas apenas uma linha ardente a cada momento, indo de cima para baixo.

Em um PC, tal problema não pode existir em princípio, porque a CPU é responsável por calcular a memória de vídeo e seu novo preenchimento, e a placa de vídeo é responsável por exibir a tela do monitor. Por um lado, ninguém se preocupa em repetir a mesma arquitetura na "linha creep", mas isso levaria a um aumento no preço de toda a placa controladora da matriz. No entanto, devido ao fato de que o conjunto de tarefas resolvidas pelo placar MK é bastante limitado e se resume a uma simples saída de texto, esse problema geralmente é resolvido pelo cálculo da memória de vídeo linha por linha.

O cálculo das alterações em uma linha leva um tempo muito curto, que pode ser alocado apenas para sua própria saída para a matriz (deixe queimar um pouco), então você pode mudar para a próxima. Embora esse algoritmo de ações possa variar muito dependendo do MC usado. Como eu disse no início, esse desenvolvimento está um tanto desatualizado, em parte porque usou o KM AVR mega128, que já foi bastante funcional, mas seu poder de computação de 16 MHz não é suficiente para usar outros algoritmos para esse problema, embora poderia ser resolvido e renderização assíncrona de memória de vídeo e exibição por diferentes temporizadores.

Provavelmente muitos notaram que nas tábuas a linha de execução, no processo de rolagem do texto, aparece um pouco, com uma inclinação perceptível das letras (como se estivessem escritas em itálico). Esse efeito aparece apenas 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, a parte superior já foi movida de acordo com o algoritmo de rolagem conforme desejado e os dados do ciclo de renderização anterior 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 do programador.

programa de controle de PC

Tudo é bem simples aqui: fazemos um array de linhas que precisam ser percorridas no ciclo, com os parâmetros de rolagem. Em seguida, mesclamos tudo isso na linha de execução da EEPROM da placa controladora do placar via RS-232. Implementado é claro no DELPHI, porque. esse tipo de vadio nele é criado mais rápido.


Na minha libertação miserável, tudo parecia mais ou menos assim ...

links

Diagrama esquemático do ticker do placar PDF , GIF (grande, salvar em disco)

Programação de adaptadores de vídeo CGA, EGA e VGA. A partir daqui, retirei a placa de fonte ASCII quase acabada escrita em hexadecimal. Para o ajuste final à linguagem C, foram necessárias apenas algumas mudanças de contexto.

Fontes do meu firmware Alguma perversão, o array do link acima foi tomado como base, então foi "russado", ou seja, letras russas foram adicionadas à placa principal DOS ASCII para compatibilidade total com software de controle WINDOWS

Acho que não faz sentido aplicar a fiação e o arquivo de firmware, pois é problemático repetir a modificação da linha de execução descrita acima em nosso problemático MBI5026 no pacote DIP já foi descontinuado, é necessário religar para SOIC, e melhor para outro processador do tipo ARM (ficará ainda mais barato) SDK) para escrever plugins. É uma questão de algumas horas para descobrir. O Winamp fornece todos os tipos de dados de entrada para decodificar o formato mp3, com a ajuda do qual uma espécie de analisador de espectro é desenhada no próprio player. Mas isso não é suficiente para nós, queremos tudo de verdade e na parede imediatamente :-). Portanto, o princípio de operação é intuitivo, comunicação com um PC via RS232 (suficiente para transferência de dados em tempo real).


À esquerda da placa está uma placa com um controlador e uma fonte de alimentação AT alimentando tudo isso
Dos sinos e assobios, também queria fazer a rolagem do nome da música quando ela começa (como foi feito no próprio Winamp, mas já ficou muito preguiçoso)
Aqui está uma ideia para os amantes do auto-ajuste: você pode transformar tudo em uma coisa que pisca. parte interna tampa do porta-malas, de modo que quando se abre (a tampa fica 90 graus) - havia uma excelente visão das colunas vermelhas por trás, pulando ao som da música alta e matadora.
Se desejar, tudo pode ser implementado em uma versão sem winamp e computador, de forma totalmente autônoma, será ainda melhor.


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

Filme ainda mais alegre, joga "lenhadores".

Banner eletrônico

Na verdade, uma versão abreviada da linha de corrida do placar (64 colunas), amarrada em uma vara. Alimentado por uma bateria UPS de 12 volts, suficiente para 2 horas de operação. O gerenciamento (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 por meio de sua porta serial são lidos)
Modos de rolagem de texto: horizontal, vertical, estático (um palavra curta), piscando em modo 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 :-)). Foi um pouco estranho escrever no teclado, localizado de joelhos e sem tela, embora o backspace também estivesse ativado.


Divertindo-se na competição de robôs móveis em 2008. Já como espectadores :-)

Conclusão

Esse é o tipo de bobagem que fiz no meu quarto ano, em vez de assistir a palestras ou trabalhar nas nossas. Essa coisa toda com um sinal fazia parte de um projeto aparentemente comercial que nunca terminava em nada. Porém, naquela época era muito interessante para mim me experimentar como programador de sistemas embarcados, em geral dava tudo certo. Eu também queria fazer um diploma sobre o tema do placar do ticker, mas apareceu um tema mais interessante naquele momento: redes neurais no mesmo lugar !! :-)

Bem, é isso, espero que tenha sido interessante.

Sempre seu, Nicolau

A placa de exibição LED é capaz de decorar o design e tornar o anúncio dinâmico e conciso. Uma placa para uma loja ou escritório atrairá os olhos de visitantes em potencial e fornecerá informações sobre descontos, promoções etc.

Este tutorial em vídeo mostra como fazer esse tipo de anúncio. Você obterá uma linha de corrida real, que é usada em publicidade comercial externa. Será baseado em 2 módulos matriciais. Também Arduino nano, porta-coroa, bateria e switch. Você pode comprar todas as peças de reposição nesta loja chinesa.

O que deveria ser feito

Vamos conectar dois módulos de LED com cola quente. Anexe o resto dos elementos na parte de trás. Anexe o Arduino para que você possa programar sem tirá-lo. Anexe um botão na parte superior.

Soldamos dois módulos através de jumpers. E também solde o Arduino na entrada e no botão. Faremos uma cobertura de um canto com nossas próprias mãos.

parte eletrônica

Como fazer upload do esboço para o arduino:
www.arduino.cc/en/Main/Software.
motorista https://goo.gl/24cFBZ.
esboço https://goo.gl/hxfJnu
biblioteca https://goo.gl/4GnOLq
biblioteca https://goo.gl/8XaOzI

Você precisa baixar e instalar duas bibliotecas. E você pode alterar o número de matrizes usadas. NO este caso 8 matrizes, cada uma com 8 × 8 LEDs (64 peças). Eles serão colocados para alinhar linha por linha.

O produto recebido ainda não emite uma string em russo, mas na Internet você encontrará dicas sobre como configurar o alfabeto cirílico.