COMO CONECTAR E UTILIZAR O MÓDULO MATRIZ DE LEDs 8×8 (CI MAX7219) COM ARDUINO UNO

Matriz de LEDs 8x8 com Arduino UNO

Esquemático de como conectar o módulo Matriz de LEDs 8×8 (MAX7219) e Arduino UNO

 

Fala Pessoal!  😉 

Como prometido alguns vídeos atrás, hoje venho comentar finalmente (ainda creio que esse assunto vai se estender por ser interessante demais e por apresentar resultados “visuais” fantásticos! :)) sobre o Módulo (chamado de shield normalmente) de Matriz de LEDs 8×8 (8 linhas por 8 colunas) que aqui iremos conectar diretamente a placa do nosso Arduino UNO por intermédio de alguns pinos: alimentação (VCC e GND) e também alguns pinos digitais (PWM) da placa do Arduino.

 Ω Observação Importante!

O circuito integrado utilizado em nosso módulo 8×8 LED MATRIX é o MAX7219. Digo isso porque este CI faz toda a diferença neste nosso caso específico, pelo menos! 😉
O lance é que este circuito integrado – MAX7219, pode controlar até 8 displays de 7 segmentos por Circuito Integrado!  😮 

É isso mesmo pessoal (recomendo consultarem o “datasheet” – folha de dados, oficial do componente eletrônico MAX7219), e com todas as informações diretamente do fabricante, então, muito mais será possível testar, experimentar e realizar. E só para deixar como “destaque” pra vocês: o MAX7219 é “tão poderoso” que é possível controlar até 8 displays de 7 segmentos por CI, e podemos ligar ATÉ 8 Circuitos Integrados MAX7219 em Série, ou seja, podemos utilizar o Arduino para controlar ATÉ 64 displays.

 💡 Para aqueles que ainda estão se perguntando “o por que” de utilizar uma matriz de LEDs em seus circuitos e/ou projetos, bom, essas matrizes (como a utilizada aqui) possibilitam a montagem de “painéis” elaborados, painéis por exemplo, daqueles do tipo onde, podemos exibir números, letras e/ou desenhos, e lembrando que dependendo da configuração da matriz, dependendo do tipo da matriz utilizada, etc., poderemos mostrar tudo isso e mais, em várias formas, tamanhos e cores!

PS: Digo isso, porque neste post utilizo apenas uma 8×8 Matrix de LEDs vermelhos, e que não reproduz outras cores.

8x8 LED MATRIX (MAX7219)

8×8 LED MATRIX (MAX7219)

Ao conseguir obter um destes módulos em suas próprias mãos, e poder conferir “de fato“, tanto o nome, quanto a função, de cada um dos pinos da 8×8 LED MATRIX, preste atenção ao “lado esquerdo” (claro que isso depende do seu ponto de vista), pois neste mesmo lado, o  esquerdo do módulo, estão os pinos de entrada, nomeados como: VCC, GND, DIN, CS e CLK.

Os pinos do lado direito do módulo da MATRIZ de LEDs 8×8, nomeados como: VCC, GND, DOUT, CS e CLK serão utilizados para interligar os outros módulos semelhantes (módulos do mesmo tipo e características do módulo principal MAX7219 do projeto).

Aprenderemos como interligar este módulo ao Arduino UNO e depois, vou tentar mostrar alguns caracteres variados na Matriz de LEDs, mãos à obra!  😀 

Pinos da Matriz de LED 8×8 Conectar aos Pinos do Arduino Uno
GND GND
VCC 5V
DIN Pino Digital 12
CS Pino Digital 10
CLK Pino Digital 11

 ➡ Pessoal, o esquemático está na primeira imagem deste post – lá no cabeçalho! 

COMO CONTROLAR A MATRIZ DE LEDs COM O ARDUINO? CONFIRA!

Para tentar deixar mais fácil o processo de desenvolvimento do programa (sketch no Arduino) e o próprio controle da Matriz de LEDs, deixo aqui uma biblioteca que você só precisa baixar e instalar na pasta libraries da sua IDE Arduino. O nome da biblioteca é LedControl. Para instalar a biblioteca siga estes passos:

  • Descompactearquivo .zip em uma pasta. Você deve obter uma pasta de nome “LedControl-master
  • Renomeie a pasta de LedControl-master para LedControl
  • Mova a pasta LedControl para a pasta “bibliotecas” (libraries) da IDE Arduino para completar a instalação
  • Finalmente, reabra a IDE do seu Arduino.

UTILIZANDO AS FUNÇÕES DA BIBLIOTECA “LedControl“:

A maneira mais fácil de se exibir algo na matriz de LEDs, é utilizando as funções setled () , setRow () ou SetColumn () . Estas funções permitem controlar um único LED, uma linha ou uma coluna de cada vez.

Aqui estão os parâmetros para cada função:

setled (addr, linha, col, estado), onde:

  • addr é o endereço da sua matriz, por exemplo, se você tem apenas uma matriz, o endereço int será zero.
  • linha é a linha onde o LED está localizado.
  • Col é a coluna onde o LED está localizado.
  • Estado
    • VERDADEIRO ou 1 se você quiser ligar o LED
    • FALSO ou 0 se quiser desligá-lo

setRow (addr, linha, valor)

setCol (addr, coluna, valor)

 

INDEX – USANDO VISÃO DE RAIO-X NA MATRIZ DE LEDs 8×8:

Como já sabemos, nossa matriz tem 8 linhas e 8 colunas. Cada LED é indexado/numerado de 0 a 7. Segue uma figura para melhor compreensão do que estamos falando sobre:

Numeração de Linhas e Colunas na Matriz de LEDs 8×8. créditos: randomnerdtutorials.com

 

Para exibir algo na matriz, só precisamos agora identificar qual LED (olhando a imagem acima Linha X Coluna), para então LIGAR ou DESLIGÁ-LO.

No nosso exemplo, se você deseja exibir um “Smile Face”, segue abaixo o que você precisa fazer:

“Smile Face” na Matriz de LEDs 8×8 créditos: randomnerdtutorials.com

O CÓDIGO DO PROGRAMA (SKETCH):

Abaixo segue um esboço simples de código, que exibe três tipos de faces: uma face triste, uma neutra e uma face feliz. 

Faça o upload do código abaixo para sua placa Arduino e observe o resultado final!

 

Após realizar todos os passos descritos acima e finalizado o upload do código para a placa do Arduino, a nossa Matriz de LEDs 8×8 vai se comportar como no vídeo gravado abaixo, vejam:

E aí, gostaram?  😀 

Se sim, assistam o pequeno video abaixo (2 minutinhos contando com a vinheta, risos) e vejam o que mais é possível realizar utilizando a mesma Matriz de LEDs 8×8!  💡 

Ahh, e mais! Gostaram do video acima? Então não percam o fechamento deste posto logo abaixo!  💡 

 

VAMOS JOGAR “PONG” NA MATRIZ DE LEDs 8×8 MAX7219:

O jogo pong que vocês estão prestes a jogar, não foi criado por mim, mas sim, por: Alessandro Pasotti.

Para o jogo pong, você só precisa adicionar um potenciômetro ohm 1k ao esquema (eu utilizei um de 5k e tive que realizar pequenas alterações no código/sketch (então, se seu potênciometro tem valor diferente, pode ser que seja necessário alterar alguns argumentos de algumas funções no código do programa). Depois disso, montamos o novo circuito como mostrado abaixo:

CÓDIGO/SKETCH PARA COMPLETAR A “ALMA” DO JOGO/GAME:

 

VÍDEO DEMONSTRANDO MEU “GAME” EM FUNCIONAMENTO:

 

Pessoal, se tiverem alguma dúvida no meio do processo, por favor, deixem seus comentários aqui embaixo que vou tentar responder a todos bem rápido! Abração!  😉 

Rodrigo Costa
Sigam-me

10 thoughts on “COMO CONECTAR E UTILIZAR O MÓDULO MATRIZ DE LEDs 8×8 (CI MAX7219) COM ARDUINO UNO”

  1. Bom dia
    Rodrigo
    Vi um vídeo onde uma pessoa construiu uma matriz 8×8, ele tmbm utilizou um integrado, queria construir uma tmbm, mas não sei como ligar ao integrado, o integrado deve ser o mesmo do seu artigo!!
    Tem como??
    Valeu!!

    1. Fala Rodrigo! Tudo Bom?!

      Seja muito bem-vindo ao nosso Blog! 🙂

      Rapaz, se entendi direito o que você perguntou, vou lhe dizer que é possível sim desenvolver “do zero” algo como você deseja.

      O CI que você menciona provavelmente é o MAX7219 da Maxim.

      Vou deixar pra você um link abaixo onde você pode ver exatamente COMO LIGAR este circuito integrado a matriz de LEDs.

      Veja: https://www.instructables.com/id/Arduino-Dot-Matrix-Game-Console/

      PS: Você postou 2x a mesma questão aqui no post, então para não excluir o segundo, vou postar esta mesma resposta nos dois. 🙂

      Espero que seja de algum Auxílio!

      Um Abraço,
      Rodrigo Costa do Blog, Fanpage e Instagram,
      https://EletronicaParaTodos.com
      https://facebook.com/EletronicaParaTodosBR
      https://instagram.com/EletronicaParaTodosBrasil

  2. Bom dia
    Vi um vídeo em que uma pessoa monta uma matriz de 8×8, ele usa tmbm pelo que vi um
    Integrado, então quero construir tmbm uma matriz, mas só que eu não sei como ligar esta matriz ao integrado que pode ser este integrado que é citado no seu artigo!!
    Tem como???
    Valeu!!!
    Rodrigo

    1. Fala Rodrigo! Tudo Bom?!

      Seja muito bem-vindo ao nosso Blog! 🙂

      Rapaz, se entendi direito o que você perguntou, vou lhe dizer que é possível sim desenvolver “do zero” algo como você deseja.

      O CI que você menciona provavelmente é o MAX7219 da Maxim.

      Vou deixar pra você um link abaixo onde você pode ver exatamente COMO LIGAR este circuito integrado a matriz de LEDs.

      Veja: https://www.instructables.com/id/Arduino-Dot-Matrix-Game-Console/

      PS: Você postou 2x a mesma questão aqui no post, então para não excluir o segundo, vou postar esta mesma resposta nos dois. 🙂

      Espero que seja de algum Auxílio!

      Um Abraço,
      Rodrigo Costa do Blog, Fanpage e Instagram,
      https://EletronicaParaTodos.com
      https://facebook.com/EletronicaParaTodosBR
      https://instagram.com/EletronicaParaTodosBrasil

  3. Tentei fazer o ping pong e deu erro.

    Vc pode me ajudar a resolver este erro.
    Esta foi a mensagem de erro que apareceu.

    Arduino: 1.8.5 (Windows 10), Placa:”Arduino/Genuino Uno”

    C:\Users\rodem\Documents\Arduino\ping-pong\ping-pong.ino:7:19: fatal error: Timer.h: No such file or directory

    #include “Timer.h”

    ^

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino/Genuino Uno

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    1. Fala Rodrigão! Tudo Bom Xará?! 🙂

      Primeiramente seja muito bem-vindo ao Blog!

      Rapaz, pela mensagem de ERRO que você recebeu na hora de compilar na sua IDE Arduino, eu acredito que o problema tenha sido e NA REALIDADE é o problema pelo qual você está passando (recebendo essa mensagem de erro), é simplesmente pela FALTA/AUSÊNCIA da Biblioteca que tenha o arquivo Timer.h! o.O

      Sendo assim, acabei de realizar o “upload” desta Biblioteca que contenha o arquivo (Timer.h) para que você e quem mais desejar e necessitar, possa realizar o download desta biblioteca sem ter que procurar na internet e finalmente conseguir “rodar” o código fonte do “ping-pong“! 🙂

      Pode realizar o download da biblioteca TIMER diretamente: https://eletronicaparatodos.com/download/2803/

      Espero que a partir daí você e Todos que desejarem consigam “rodar” o joguinho! 🙂

      Todo o Sucesso!

      Forte Abraço,
      Rodrigo Costa do Canal Youtube,
      https://youtube.com/EletronicaParaTodos

  4. Parabéns pelo trabalho, estou com uma matriz de led do mesmo modelo so que RGB tem como fazer o endereçamento usando o Max7219 se sim teria como mandar diagrama de conexões, desde já agradeço.

    1. Fala Emerson! Tudo Bom?!

      Primeiramente agradeço sua visita, mensagem e elogio! Gratidão imensa saber que estamos ajudando. 🙂

      Rapaz, por aqui nunca utilizamos essa Matriz de LEDs do tipo RGB, então não posso lhe ajudar muito, MAS, encontrei um link, onde acredito que você possa conseguir resolver o problema de endereçamento dos LEDs da sua Matriz.

      Veja a imagem abaixo se lhe auxilia em algo:

      LED MATRIX 8x8 - RGB

      Você também pode acessar diretamente este LINK para acessar um artigo não nosso, mas que acredito vai lhe auxiliar em algo ou no mínimo ser útil! 🙂

      Desejo Sucesso!

      Um Abraço,
      Rodrigo Costa do Canal Youtube,
      https://youtube.com/EletronicaParaTodos

    1. Fala João! Tudo Bom?!

      Primeiramente agradeço sua mensagem! 🙂

      Rapaz, olha só, fica MUITO difícil poder tentar lhe ajudar apenas com essa explicação que você deu, infelizmente. 🙁

      Se possível, tenta mostrar a mensagem de erro aqui de forma bem específica, como copiar+colar, pois aí podemos pelo menos tenta “ler” mais detalhes sobre o ERRO, por exemplo se é problema de configuração da placa, tipo de programador, falta de inclusão de bibliotecas no código ou até mesmo no diretório e por aí vai…!

      É isso, se puder dar mais detalhes, estamos aqui! 😉

      Um Abraço,
      Rodrigo Costa do Canal,
      https://www.youtube.com/EletronicaParaTodos

Esse espaço é Seu! Comenta Aí! ;-)