Como criar 'Evil Eyes' (olhos malignos) animados usando um Arduino Uno e duas matrizes de LED vermelho 8x8 com chip driver MAX7219.
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.
Instructables Steve Quinn
Vídeo Tutorial do Excel (Youtube)
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.
'prog_uchar' troque por 'const unsigned char'.
No arquivo EvilEyes2.ino, está na linha 69
e no arquivo EvilEyesN.ino está na linha 103.
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;
Nenhum comentário:
Postar um comentário