Neste projeto, vamos projetar um display de matriz de LED 8x8, para isso faremos a interface de um módulo de matriz de LED 8x8 com o Arduino Uno. Uma matriz 8x8 LED contém 64 LEDs (Light Emitting Diodes) que estão dispostos na forma de uma matriz, daí o nome LED matrix.
Essas matrizes podem ser feitas com o circuito de 64 LEDs, porém esse processo é demorado. Hoje em dia, eles estão disponíveis em formatos compactos, conforme mostrado na imagem abaixo. Esses módulos compactos estão disponíveis em diferentes tamanhos e cores. O custo do módulo é igual ao custo de 64 LEDs, portanto, para entusiastas, é mais fácil de trabalhar.
A matriz de LED nua tem 16 pinos com 8 positivos comuns e outros 8 negativos comuns. Para conectar esta matriz diretamente a um UNO, precisamos poupar 16 pinos no UNO. Com os pinos de saída baixos em UNO, não podemos dispensar 16 PINS. Portanto, precisamos conectar essa matriz a um chip de driver. Este chip de driver junto com a matriz vem como um conjunto que é mostrado na figura abaixo.
Este módulo terá interface com o Arduino para exibir alfabetos, daí a exibição de matriz. Em primeiro lugar, para fazer a interface da matriz de LED com o Arduino, precisamos baixar uma biblioteca projetada especificamente para LED MATRIX. Esta biblioteca estará disponível em:
Depois de baixar o arquivo Zip, extraia o conteúdo para a pasta ARDUINO. (Vá para o disco local onde o software ARDUINO NIGHTLY está instalado, abra a pasta, procure a pasta chamada “biblioteca”, extraia o conteúdo do arquivo zip dessa pasta, reinicie o programa agora você poderá usar os recursos da interface do matrix)
Componentes necessários
Hardware: Arduino Uno, fonte de alimentação (5v), capacitor 100 uF (conectado à fonte de alimentação)
Software: Arduino Nightly
Diagrama de Circuito e Explicação
As conexões que são feitas entre o Arduino Uno e o módulo de matriz de LED são mostradas na tabela abaixo.
PIN2 ------------------ CARGA ou CHIPSELECT do módulo LED
PIN3 ------------------ RELÓGIO do módulo LED
PIN4 ------------------ DADOS do módulo LED
+ 5V ------------------ VCC do módulo LED
GND ------------------ GND do módulo LED
O diagrama de circuito do display de matriz de 8 * 8 LED é mostrado na figura abaixo.
Agora, para usar os futuros especiais chamados pela instalação de nova biblioteca, precisamos estabelecer alguns comandos no programa e são declarados abaixo.
#include "LedControlMS.h" #define NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
Primeiro, precisamos chamar o arquivo de cabeçalho para fazer a interface de uma matriz de LED com o Arduino Uno. Isto é ”#include" LedControlMS.h "”, este arquivo de cabeçalho chama as funções especiais da biblioteca.
Temos um recurso com esses módulos que podemos conectar vários módulos em série e programá-los juntos como um único monitor. Esse recurso é útil quando precisamos de uma unidade de exibição que pode exibir vários caracteres ao mesmo tempo. Portanto, precisamos informar ao controlador de quantos monitores estamos conectando.
Neste módulo, existem principalmente três pinos; o fluxo de dados do UNO para o módulo ocorre com esses três pinos. Os pinos são DATAIN (pino de recebimento de dados), CLOCK (pino de clock) e CHIPSELECT (pino de recebimento de comando).
Agora precisamos dizer ao UNO onde estamos conectando esses pinos. Isso é feito por meio do comando “LedControl lc = LedControl (4,3,2, NBR_MTX); ”. “Lc.writeString (0," CIRCUITDIGEST ");”, este comando é usado para informar ao UNO quais caracteres devem ser exibidos na matriz de LED. Com o acima, o display mostra ”CIRCUITDIGEST”, com cada caractere uma vez.
Precisamos limpar a memória do chip de exibição antes de enviar qualquer outro dado, isso é feito pelo comando ”lc.clearAll ();".
Desta forma, podemos conectar facilmente uma matriz de 8x8 LED ao Arduino Uno.