Matriz de LED RGB KWM-50884CRGBB • Do bit Ao Byte
Djames Suhanko 17 de abril de 2017 4 min read
Mes amis, estou em uma incrível diversão com LEDs. Não um LED comum, nem 2 LEDs, mas 64 LEDS RGB em uma matriz de 8×8!
KWM 50884 C RGB
Esse é o modelo, inscrito na lateral da matriz de LEDs. As duas partes significantes aqui são C e RGB. O 'C' é de Cathode, sendo que você encontra também a outra versão com 'A', de Anode. Isso significa que a matriz que estamos utilizando nesse artigo tem o Cathodo comum.
Anodo e Cathodo
Já expliquei munuciosamente em outro artigo, não que seja complexo, mas a diferença entre anodo e cathodo pode ser vista nessa imagem:
Detalhes do LED
Olhando para um LED, tem algumas formas simples de identificar a diferença. Primeiro, tente de algum modo decorar que Anodo vai ao VCC e Catodo vai ao GND. Para tentar ajudar, utilize uma comparação meio boba, mas funcional; caTodo tem a letra 'T' de 't'erra, portanto 'ground'.
Para diferenciar imediatamente o anodo do catodo, as formas mais simples são:
identificar o ponto de maior corpo – se você estiver utilizando um LED translúcido, basta olhar para ele e procurar qual das duas partes dentro do encapsulamento tem maior corpo. O GND sempre tem mais corpo, inclusive em circuito, portanto essa é uma forma bastante simples de assimilar.
Identificar o chanfro no LED – olhando o LED de cima ou passando a mão em seu contorno você deve encontrar uma parte "achatada" em uma das pernas. Essa será o catodo.
Olhar para as "pernas". A mais comprida é o Anodo.
Mas na matriz de LEDs não é tão simples. Uma ou mais pernas serão Anodo ou Catodo, conforme o modelo selecionado. Como estamos usando o modelo que tem Catodo comum, significa que essa perna deverá estar conectada ao GND e para acender os LEDs, será necessário colocar alimentação nos demais pinos.
O datasheet pode ser visto nesse link. Basicamente, a matriz tem essa disposição:
Interconexão da matriz
Repare que na vertical estão as representações do GND. Os demais pinos representados cada cor por uma seta diferente.
Essa parte (em qualquer datasheet) representa o limite máximo "mesmo". Se você passar 1 valor qualquer desses, o dispositivo em questão morre. A tabela de limites dessa matriz é a seguinte:
Tabela de limites da matriz de LED
Considerando essa tabela, tenha em mente que a faixa ideal de trabalho é de 20mA por pino. 25 é o limite, mas 26 mata o ponto. Para concluir essa parte; a tabela de maximum rates considera uma temperatura ambiente de 25 graus.
Na última página do datasheet esao algumas recomendações, dentre as quais destaco:
Controle da corrente – você deverá utilizar resistores.
A matriz deve ser utilizada dentro do prazo de 1 ano, a partir de então, sem problemas.
Na soldagem você pode aplicar até 250 graus no tempo limite de 5 segundos.
Os intervalos entre a solda de cada pino deve ser de no mínimo 2 segundos.
A recomendação é 300 graus por no máximo 3 segundos e apenas 1 vez.
A falha nesse controle pode ocasionar deformidade na lente do LED e até dano permanente no próprio LED. Tenha cuidado na soldagem, porque essa é a principal razão pela qual as matrizes são danificadas.
Minha dica em relação a isso é simples; utilize slots; faça as soldas dos fios ou do circuito nos slots e então encaixe a matriz sobre ele.
O datasheet alerta sobre danos causados por eletrostástica, não sei até onde isso pode ser preocupante.
Agora entra uma questão importante; como alimentar essa matriz? Bem, esqueça os 5V do Arduino, nada de porta USB também. Como a alimentação esperada é 5V para qualquer cor (veja a tabela mais acima), você deverá preocupar-se apenas com a corrente. Mas a corrente total é de 64*0.020, totalizando 1.3A. Mas, você não quererá apenas acender a matriz de LEDs, right? Você quererá controlá-la, e para isso será necessário algum intermédio para a alimentação. Nesse caso, a melhor opção é utilizar um shift register. Como estou apenas fazendo a demonstração do display, preferi utilizar um Arduino qualquer para controlar um pixel de forma independente. Utilizei por acaso um Mega que está em minha plataforma de prototipagem sobre um bumper. Os pinos do Mega para o exemplo foram o 2, 3 e 4 para R, G e B respectivamente. Também, utilizei resistores de 330ohms nos três. Na matriz, utilizei os pinos 1, 2, 7 e 17, sendo o pino 7 o ground. O código para teste, bastante simples:
analogWrite(2,i/3);
analogWrite(4,i/2);
for (int i=255;i>-1;i--){
analogWrite(2,i);
analogWrite(3,i/3);
analogWrite(4,i);
analogWrite(3,i/2);
analogWrite(4,i/3);
analogWrite(2,i/2);
Com isso, basta você utilizar mais alguns pinos apenas para testar a matriz e então escrever seu código de controle!
Você pode adquirir sua matriz de LED RGB direto nesse link da Autocore Robótica, que possui também outras opções de matriz além da RGB.