Arduino Nano ESP32 - Matriz de LED
O display de matriz de LED, também conhecido como display de LED ou display de matriz de pontos, é muito utilizado. Neste tutorial, vamos aprender:
- Matriz de LED
- Como conectar o Arduino Nano ESP32 a uma matriz de LED 8x8
- Como conectar o Arduino Nano ESP32 a uma matriz de LED 32x8
- Como programar o Arduino Nano ESP32 para exibir texto, números e efeitos animados na matriz de LED.
Depois disso, você poderá adaptar facilmente o código para outras matrizes de LED, como a matriz de LED 16x8, a matriz de LED 64x8 ...
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Matriz de LED

Existem muitos tipos de matriz de LED. Com o ESP32, a matriz de LED baseada no MAX7219 é muito utilizada. A matriz de LED baseada no MAX7219 tem as seguintes características:
- A unidade básica de uma matriz de LED é um bloco
- Cada bloco tem uma matriz de LED 8x8 (64 LEDs) e um driver MAX7219.
- Existem duas formas populares de bloco: o módulo genérico e o módulo FC-16.
- Uma matriz de LED pode ser composta por um único bloco ou por vários blocos em daisy-chain
- Você pode comprar uma matriz de LED pré-montada com vários blocos (por exemplo, 4 em 1, 8 em 1)
- Você também pode comprar vários blocos e ligá-los para formar uma matriz de LED com o tamanho desejado.
- Você vai declarar o tamanho da matriz de LED que usa no código do Arduino Nano ESP32.
Pinagem

Uma matriz de LED é formada por um único bloco ou por vários blocos. Cada bloco inclui dois grupos de pinos:
- Grupo de pinos de entrada:
- VCC: conecta ao 5V.
- GND: conecta ao GND.
- DIN é o pino de dados. Conecte-o a qualquer pino digital do Arduino Nano ESP32.
- CS: Chip Select. Conecte-o a qualquer pino digital do Arduino Nano ESP32.
- CLK: pino de clock. Conecte-o a qualquer pino digital do Arduino Nano ESP32.
- Grupo de pinos de saída:
- VCC: conecta ao VCC do grupo de pinos de entrada do próximo módulo.
- GND: conecta ao GND do grupo de pinos de entrada do próximo módulo.
- DOUT: Data Out, conecta ao pino DIN do grupo de pinos de entrada do próximo módulo.
- CS: conecta ao CS do grupo de pinos de entrada do próximo módulo.
- CLK conecta ao CLK do grupo de pinos de entrada do próximo módulo.
Diagrama de Ligação
Se a matriz de LED é feita de um único bloco:
- Conecte o grupo de pinos de entrada ao Arduino Nano ESP32
- Deixe o grupo de pinos de saída sem conexão

This image is created using Fritzing. Click to enlarge image

This image is created using Fritzing. Click to enlarge image
Se a matriz de LED é pré-montada com vários blocos:
- Conecte o grupo de pinos de entrada ao Arduino Nano ESP32
- Deixe o grupo de pinos de saída sem conexão

This image is created using Fritzing. Click to enlarge image
Se a matriz de LED é feita por você com vários blocos:
- Conecte o grupo de pinos de entrada do primeiro bloco ao Arduino Nano ESP32
- Conecte o grupo de pinos de saída de cada bloco ao grupo de pinos de entrada do bloco seguinte
- Deixe o grupo de pinos de saída do último bloco sem conexão

This image is created using Fritzing. Click to enlarge image
Como o display consome muita corrente (até 1A no brilho máximo):
- Não use a alimentação do pino 5V do Arduino Nano ESP32.
- Use uma fonte de alimentação externa de 5V. O Arduino Nano ESP32 e a matriz de LED podem compartilhar a alimentação de um adaptador de energia de 5V
Como o Arduino Nano ESP32 se conecta à matriz de LED por meio de pinos SPI:
- Pino D13 (SCK) e D11 (MOSI) no Arduino Nano ESP32
- O pino D10 (CS) pode ser alterado para qualquer pino
Como Programar a Matriz de LED
Não é fácil controlar a matriz de LED. Felizmente, existem bibliotecas que tornam isso fácil. Abaixo está um passo a passo de como escrever o código do Arduino Nano ESP32 para controlar a matriz de LED
- Inclua as bibliotecas:
- Especifique qual hardware está sendo usado: GENERIC_HW ou FC16_HW.
- Defina quantos blocos de LED são usados. Por exemplo, uma matriz de LED 4 em 1 tem 4 blocos.
- Defina o pino que se conecta ao pino CS da matriz de LED. Por exemplo, o pino D10
- Crie uma nova instância da classe MD_Parola para o display de matriz de LED.
- Código na função setup():
- Exibir texto, números e mostrar efeitos animados: veja a próxima parte
Arduino Nano ESP32 - Código da Matriz de LED
O código abaixo é para o display de matriz de LED FC-16 32x8 (4 blocos). Mas você pode adaptá-lo facilmente para 8x8, 16x8, 64x8...
Passos Rápidos
Para começar com o Arduino Nano ESP32, siga estes passos:
- Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente do Arduino Nano ESP32 no Arduino IDE.
- Ligue os componentes de acordo com o diagrama fornecido.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
- Abra o Library Manager clicando no ícone Library Manager na barra de navegação à esquerda do Arduino IDE
- Pesquise “MD_Parola” e encontre a biblioteca MD_Parola
- Clique no botão Install.

- Será solicitado que você instale a biblioteca “MD_MAX72XX”
- Clique no botão Install All para instalar a dependência.

- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Veja o display de matriz de LED
Código Arduino Nano ESP32 para Matriz de LED – Texto em Rolagem
Quando você quer exibir uma mensagem longa demais para caber em um display de matriz de LED, pode usar a técnica do efeito de texto em rolagem.
O código do Arduino Nano ESP32 abaixo mostra como rolar uma mensagem no display de matriz de LED.
Para mais efeitos de texto, visite a Referência da Biblioteca MD_Parola.