Usando uma matriz de LEDs 8 x 8 (1088AS) com Arduino Uno COM MAX7219

 

    Como criar 'Evil Eyes' (olhos malignos) animados usando um Arduino Uno e duas matrizes de LED vermelho 8x8 com chip driver MAX7219.
    O design é tal que uma animação pode ser criada de forma rápida e simples usando o Microsoft Excel para desenvolver graficamente cada quadro animado, gerar automaticamente o código 'C', 'soltá-lo' em um esboço de estrutura (EvilEyes2.ino) e fazer a compilação para visualizar os resultados da animação ao vivo em segundos. 

Uma vez que a animação está correta, muitas animações podem ser combinadas para execução assíncrona em um esboço de estrutura separado (EvilEyesN.ino) para usar mais leds.




Nesse projeto usei os seguintes componentes:

Baixe a biblioteca para o Arduino LedControl no GitHub:




Conexões:




As partes são conectadas como mostrado acima, 'encadeadas' da esquerda para a direita em grupos de dois. No software, a posição 1 está à esquerda, movendo-se para a direita de forma incremental.

Nota 1: Lembre-se de que o Arduino alimenta a parte inferior da matriz de LED (IN) e o topo da matriz de LED (OUT) alimenta a parte inferior da próxima matriz de LED (IN) e assim por diante etc.

Referência:

Instructables Steve Quinn


Vídeo Tutorial do Excel (Youtube)

O vídeo acima fornece uma visão geral 'muito' breve de como criar a animação.






OBS: No código no final dessa postagem, já tem uma animação pronta, caso queira mudar, siga os passos abaixo:

1. Abra a planilha 

2. Clique na aba 'Source'. Para cada par de cores de 'Olhos', tem o pixel VERMELHO correspondente na matriz de LED 8x8 para que seja iluminado para este quadro de animação. 

3. Uma vez concluído, vá para a aba 'Detais' e preencha quantas animações você gostaria de codificar. Em seguida, pressione o botão 'Generate Code'.

4. Após a conclusão da geração, a planilha muda para a aba 'Code'. Basta pressionar Ctrl-A para selecionar tudo e, em seguida, Ctrl-C para copiar todo o código para a área de transferência.

5. Abra a IDE do Arduino. Em seguida, cole por cima do código existente. Ctrl-V

6. Crie sua animação juntando vários quadros em um 'filme' (você só precisa usar o olho esquerdo como referência, o quadro escolhe automaticamente a próxima entrada na matriz para o olho direito), escolhendo quanto tempo deseja exibir o quadro e o brilho que você deseja que ele seja exibido na matriz 8x8.

7. Compile.

8. Repita os passos 6 e 7 até estar satisfeito com o seu 'filme'.

As instruções completas estão na planilha na aba marcada como 'Details'.

Observação: Para que a geração automática de código funcione, a planilha precisará ter as macros ativadas. Se você está preocupado com o VBA, mantenha as macros desativadas, abra a planilha e pressione Alt-F11. O editor VBA será aberto e você pode se certificar de que não há nada de errado no código.

SOBRE O CÓDIGO

Tem dois códigos:
O código EvilEyes2 é para usar com 2 matrizes de leds e o código EvilEyesN é para 3 ou mais.

Importante observar que no código original desses links, talvez seja necessário alterar uma parte do código, onde está escrito:

'prog_uchar' troque por 'const unsigned char'.

No arquivo EvilEyes2.ino, está na linha 69

e no arquivo EvilEyesN.ino está na linha 103.

Isto é devido a atualização do Arduino IDE


Montando o Filme

Um filme é apenas uma sequência de quadros animados;

A sequência de quadros é mantida em uma matriz de 'frames' 

('frameType' no esboço) ou 'movie' ('frameType movie[ ]' no esboço).

Cada 'frameType' tem três parâmetros:

int frameCount// Um ​​ponteiro para o array contendo as animações que você acabou de projetar.

int frameDelay// Um ​​valor de atraso em milissegundos indicando quanto tempo exibir este determinado quadro.

frameLuminance// um valor 0...15 indicando o brilho para exibir este quadro.

Portanto, um filme é uma coleção de quadros;



Veja também um tutorial Matriz de Leds 8x8 SEM MAX7219
https://laboratoriomaker.blogspot.com/2023/02/usando-uma-matriz-de-leds-8-x-8-1088as.html



Código para o par de olhos:


Nenhum comentário:

Postar um comentário

Postagens mais visitadas