Sabe aqueles painéis vermelhos com texto rolando em lojas, ônibus e placares? Eles nascem de um componente simples: a matriz de LED 8x8 — 64 LEDs organizados em linhas e colunas.

O impressionante é que dá para controlar tudo isso com apenas 3 fios do Arduino, graças ao chip MAX7219. E ainda dá para encadear vários módulos e formar letreiros compridos.

💡 Dica: salve este guia! Um letreiro com texto rolando é o projeto que sempre impressiona — e é mais fácil do que parece.

🔴 O desafio dos 64 LEDs

Uma matriz 8x8 tem 64 LEDs. Se cada um tivesse seu próprio fio, seriam 64 pinos + terra — impossível. A solução é o arranjo em matriz: os LEDs compartilham conexões em 8 linhas e 8 colunas, totalizando apenas 16 pinos.

Cada LED fica no cruzamento de uma linha com uma coluna. Para acender um LED específico, você energiza a linha e a coluna correspondentes. Mas isso cria um novo problema: como acender vários LEDs em posições diferentes ao mesmo tempo sem acender os cruzamentos indesejados?

✨ Multiplexação — enganando o olho humano

A resposta é não acender tudo ao mesmo tempo. Em vez disso:

  1. Acende-se apenas uma linha, com o padrão correto de colunas.
  2. Apaga-se e passa-se para a próxima linha, com o padrão dela.
  3. Repete-se para as 8 linhas, centenas de vezes por segundo.
  4. Por causa da persistência da visão, o olho funde tudo e enxerga a imagem completa e estável.
1 linha por vez, muito rápido = imagem inteira aos olhosÉ o mesmo princípio do cinema: quadros sucessivos viram movimento.
🔎 Consequência prática: cada linha fica acesa só 1/8 do tempo. Por isso a corrente instantânea em cada LED é maior que a média — e é exatamente isso que o MAX7219 gerencia para você.

🔌 O MAX7219 faz o trabalho pesado

Fazer multiplexação 'na mão' consumiria o processamento do Arduino o tempo todo. O MAX7219 resolve isso: ele mantém a imagem sozinho, deixando o microcontrolador livre.

  • Comunicação por SPI: apenas 3 fios — DIN (dados), CLK (clock) e CS/LOAD (seleção).
  • Controla 64 LEDs (uma matriz 8x8) ou 8 dígitos de 7 segmentos.
  • Memória interna: você envia a imagem uma vez e ele mantém.
  • Brilho ajustável por software em 16 níveis.
  • Permite encadeamento de vários chips.

🔗 Encadeando módulos (letreiros)

Para fazer um letreiro, basta ligar módulos em série: a saída DOUT de um vai na entrada DIN do próximo. CLK e CS são compartilhados. Você continua usando os mesmos 3 pinos do Arduino, independentemente de ter 1 ou 8 módulos.

🌡️ Cuidado com a alimentação! Cada módulo pode puxar até 300 mA ou mais com todos os LEDs acesos no brilho máximo. Quatro módulos podem passar de 1 A — muito acima do que a saída 5 V do Arduino aguenta. Use uma fonte externa de 5 V e ligue o GND em comum.

🎚️ O resistor Rset — o detalhe técnico

A corrente máxima de todos os segmentos é definida por um único resistor externo ligado ao pino ISET, chamado Rset. Nos módulos prontos, ele já vem soldado (normalmente entre 10 kΩ e 100 kΩ).

Quanto menor o Rset, maior a corrente e o brilho — e maior o aquecimento. O valor de fábrica costuma ser adequado; alterá-lo sem consultar o datasheet pode reduzir a vida dos LEDs.

🔎 Prefira ajustar o brilho por software (comando de intensidade do MAX7219), que é seguro e reversível, em vez de trocar o Rset.

💻 Bibliotecas e efeitos

BibliotecaMelhor paraObservação
LedControlControle direto, LED a LEDSimples e leve, boa para aprender
MD_MAX72XXBase para painéisGerencia o hardware e o encadeamento
MD_ParolaTexto rolando e efeitosDezenas de animações prontas
LedMatrix / Max72xxPanelGráficos e desenhosIntegra com a Adafruit GFX
🔎 Dica de montagem: ao encadear, a orientação dos módulos importa. Se o texto aparecer espelhado ou de cabeça para baixo, ajuste o parâmetro de rotação/tipo de hardware na biblioteca (as barras vendidas prontas costumam pedir o tipo 'FC16').

🧮 Exemplo prático: letreiro de 4 módulos

📖 Texto rolando com 32×8 pixels

1) Hardware: uma barra com 4 matrizes (32 colunas × 8 linhas) e um MAX7219 por matriz.

2) Ligação: DIN, CLK e CS no Arduino; VCC e GND numa fonte externa de 5 V (com GND comum).

3) Consumo: estime até ~1,2 A no pior caso (tudo aceso, brilho máximo). Uma fonte de 2 A dá folga.

4) Software: use a MD_Parola, informe 4 dispositivos e escolha o efeito de rolagem.

5) Brilho: reduza para um nível médio — melhora a leitura, esquenta menos e economiza energia.

3 fios de dados · fonte externa · GND comum · brilho moderado

🎯 Onde usar

  • Letreiros com texto rolando (avisos, promoções, nomes).
  • Relógios de parede, placares e contadores.
  • 'Olhos' expressivos e animações em robôs.
  • Painéis de status, ícones e jogos simples (Snake, Tetris).

🛠️ Problemas comuns

SintomaCausa provávelSolução
Nada acendeCS/DIN/CLK trocadosConfira a pinagem e o sentido DOUT → DIN
Texto espelhado/rodadoTipo de hardware errado na bibliotecaAjuste para FC16 ou o tipo do seu módulo
Só o 1º módulo funcionaNúmero de dispositivos errado no códigoInforme a quantidade correta
Piscando / reiniciandoAlimentação insuficienteFonte externa de 5 V com corrente suficiente
Brilho irregularAlimentação fraca no fim da filaAlimente também pela outra ponta da barra
EsquentandoBrilho no máximoReduza a intensidade por software
🛒 Na Mamute Eletrônica tem matrizes 8x8 com MAX7219 (avulsas e em barra de 4), fontes 5 V e conectores — monte seu letreiro.

🚀 Conclusão

64 LEDs, 3 fios (SPI), multiplexação feita pelo chip e a possibilidade de encadear: é o combo que transforma pontos de luz em letreiros e animações.

Lembre dos dois pontos que mais causam dor de cabeça: alimentação externa (não puxe do Arduino) e o tipo de hardware na biblioteca. Resolvidos esses, é só criatividade.

Dúvidas? Comenta aí! 🦣⚡

Mamute Eletrônica · Componentes, Módulos e Robótica · Rua Vitória, 125 — Santa Efigênia/SP · mamuteeletronica.com.br

Para montar o que você acabou de ler

O módulo de 8 dígitos usa o mesmo CI e os jumpers fecham a ligação SPI.