Microcontrolador
O circuito utiliza um microcontrolador ATmega328. É certamente um exagero, tanto em termos de memória como de capacidade de processamento. Por outro lado, a programação fica bastante simples através do uso da IDE e bibliotecas do Arduino.
O coração do projeto é o circuito do Arduino na Protoboard, retirando somente o LED ligado ao pino 19. O clock do circuito é gerado por um cristal externo de 16MHz e a porta serial está ligada a um conector para permitir a carga de programas (com auxílio de um conversor USB/TTL) ou ligar a um outro equipamento.
LEDs
Como a ideia original é ter muitos LEDs, tratei de buscar na minha gaveta uma boa variedade deles. Adotei resistores de limitação de corrente de 330 ohms entre o terminal positivo do LED e o pino do ATmega (o terminal negativo foi ligado direto ao terra).
A iluminação gerada variou bastante conforme o modelo dos LEDs:
- LEDs verdes difusos geraram uma iluminação boa
- LED azul difuso também teve uma boa intensidade
- LED amarelo difuso ficou ligeiramente fraco
- LED vermelho difuso antigo ficou bastante fraco, precisei substituir por um um pouco mais novo, com encapsulamento ligeiramente transparente
- LED vermelho 3mm (os demais são de 5mm) gerou uma luminosidade boa
- LED bicolor gerou um verde bem fraco e um vermelho razoável
- LEDs vermelhos transparentes geraram uma luminosidade bem alta
O LED bicolor requer uma montagem diferente: um terminal foi ligado diretamente a um pino do ATmega e o outro ligado através do resistor de 330 ohms a outro pino do ATmega.
Barra de LEDs
Este componente permite um bom efeito visual e é composto de 10 LEDs individuais. Para reduzir o número de pinos usados no ATmega, os primeiros 8 segmentos foram ligados a um shift register 74HC595. Este componente é um conversor de serial para paralelo: a cada pulso no pino SCK o dado presente no pino SER é deslocado para dentro de um registrador interno ao CI. Um pulso no pino RCK copia este registrador para os pinos de saída.
Para limitar a corrente nos LEDs aproveitei uma "rede resistiva" contendo 8 resistores de 470 ohms com uma das extremidades interligadas. Isto deixou a montagem mais compacta.
Os dois segmentos restantes foram ligados como os LEDs avulsos, porém usando resistores de 470 ohms.
Botão
Para permitir alguma interação com o painel, incluí um botão de contato momentâneo. Este botão é ligado entre um pino do ATmega e terra. O ATmega dispõe de um resistor interno de pullup que será ativado pelo software, para obter leitura em nível alto quando o botão estiver aberto.
Buzzer
Nada como um beep irritante para sinalizar situações de risco. Usei um buzzer com oscilador interno, que necessita apenas de alimentação para soar. Devido à corrente necessária, usei um transistor 2N2222 para ligar e desligar o buzzer.
Circuito Completo
A figura abaixo mostra o circuito completo. No próximo post veremos como fiz a montagem.
Nenhum comentário:
Postar um comentário