Disco de LEDs
Este projeto visa fixar vários LEDs RGBs em uma caixa transparente de chocolate ("disco voador") e montar um circuito para controlá-los com um Arduino. O objeto resultante servirá tanto para exercitar programação com o Arduino como para decoração da sede do Garoa.
Vídeos com o software de teste: [1] e [2]
Responsáveis em ordem alfabética
Circuito
O circuito é simplificado pelo uso do CI MAX7219, que é um driver para LEDs. Basicamente ele possui internamente uma memória para guardar o estado de até 64 LEDs (organizados como 8 dígitos, cada um com 8 segmentos), realizando automaticamente a varredura. A corrente máxima em cada LED é limitada por um único resistor.
Os LEDs RGB utilizados são do tipo catodo comum.
- Os catodos dos oito LEDs são ligados aos pinos DIG do MAX7219.
- Os terminais R são interligados entre si e ao pino SEG G do MAX7219
- Os terminais G são interligados entre si e ao pino SEG F do MAX7219
- Os terminais B são interligados entre si e ao pino SEG E do MAX7219
O resitor de limitação de corrento do MAX7219 é de 82K. Dois capacitores, um eletrolítico de 10uF e um cerâmico de 100nF estão ligados na alimentação para filtrar o ruído gerado no chaveamento dos LEDs.
Foi utilizado um Arduino Pro Mini. Na operação normal ele é alimentado por três pilhas pequenas (AA). Para programá-lo com a IDE do Arduino é necessário usar um conversor serial TTL USB.
A ligação do Arduino ao MAX7219 utiliza três pinos:
- Saída digital 2 do Arduino é conectada ao sinal CLK do MAX7219
- Saída digital 3 do Arduino é conectada ao sinal LOAD do MAX7219
- Saída digital 4 do Arduino é conectada ao sinal DIN do MAX7219
Programação
O programa de teste e exemplo está em ??? (link pendente)
Este programa contém o código para iniciar o MAX7219 e a rotina write7219 para escrever em um registrador. Cada LED é controlado por um registrador DIGx, o bit 0 corresponde a R (vermelho), o bit 1 a G (verde) e o bit 2 a B (azul). Por exemplo, write7219 (MAX7219_DIG0, 1) acende o primeiro LED na cor vermelha.