quinta-feira, maio 07, 2015

Cubo de LEDs 4x4x4 Bicolor - Parte 1

Este é um projeto que está na fila faz tempo, desde que vi um funcionando, mas sempre faltava ânimo para montar.

É isto o que quero fazer

O projeto do qual eu parti pode ser visto aqui (pena que o Pedro parou de postar e de frequentar o Garoa, os dois projetos no blog são excelentes). Não tem muito o que acrescentar à descrição do Pedro (atenção para o primeiro comentário em que ele faz uma correção importante). Basicamente os LEDs estão organizados em quatro planos ("andares"), cada um com dezesseis LEDs. Um terminal dos LEDs é conectado na vertical, resultando em 16 sinais que são ligados diretamente ao microcontrolador ATmega328. O outro terminal é interligado por plano; cada plano é acionado por um par de transistores (pois a corrente pode ser superior à capacidade de um pino do ATmega).

Nesta primeira parte vou falar deste circuito para aciona os LEDs. Eu resolvi trocar os transistores BC328 e BC338 do projeto do Pedro por 2N2907 e 2N2222.  Também revi os valores dos resistores nos transistores, optando por usar resistores de 1K entre o ATmega e a base e de 270R entre a base e o emissor. O circuito ficou assim:


Para evitar surpresas, fiz um pequeno teste em proboard usando um Arduino. O software exercita as três combinações de interesse (LED apagado, LED vermelho e LED verde):
void setup() {
}

void loop() {
  pinMode (2, INPUT);
  pinMode (3, INPUT);
  delay(3000);
  pinMode (3, OUTPUT);
  pinMode (2, OUTPUT);
  digitalWrite (3, HIGH);
  digitalWrite (2, HIGH);
  delay(3000);
  digitalWrite (3, LOW);
  digitalWrite (2, LOW);
  delay(3000);
}
O LED bicolor nada mais é que dois LEDs em "paralelo" com polaridade invertida. Infelizmente os LEDs vermelho e verde tem características diferentes, tanto quanto às suas tensões como à intensidade de luz gerada e percebida pela nossa vista. As minhas medições indicaram as tensões de 2.4V para o LED verde e 2.2 para o LED vermelho (isto pode mudar de fabricante para fabricante). A corrente (calculada pela tensão sobre o resistor de 220R) foi de 12mA com o LED verde aceso e 11.6 com o LED vermelho aceso; com 16 LEDs acesos ficamos dentro dos limites do ATmega.

O vídeo abaixo mostra o teste em funcionamento.



Nenhum comentário: