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:

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

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre a Matriz de LED

LED Matrix display

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

LED Matrix Pinout

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
The wiring diagram between Arduino Nano ESP32 and 8x8 LED matrix FC-16

This image is created using Fritzing. Click to enlarge image

The wiring diagram between Arduino Nano ESP32 and 8x8 LED matrix generic

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
The wiring diagram between Arduino Nano ESP32 and LED matrix display

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
Arduino Nano ESP32 32x8 LED matrix wiring FC-16 diagram

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:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Especifique qual hardware está sendo usado: GENERIC_HW ou FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Defina quantos blocos de LED são usados. Por exemplo, uma matriz de LED 4 em 1 tem 4 blocos.
#define MAX_DEVICES 4
  • Defina o pino que se conecta ao pino CS da matriz de LED. Por exemplo, o pino D10
#define CS_PIN D10
  • Crie uma nova instância da classe MD_Parola para o display de matriz de LED.
MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
  • Código na função setup():
void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(0); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display }
  • 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...

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN D10 // The Arduino Nano ESP32 pin connected to the CS pin of the LED matrix // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the LED Matrix ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear LED matrix display } void loop() { ledMatrix.setTextAlignment(PA_LEFT); ledMatrix.print("Left"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.print("Center"); // display text delay(2000); ledMatrix.setTextAlignment(PA_RIGHT); ledMatrix.print("Right"); // display text delay(2000); ledMatrix.setTextAlignment(PA_CENTER); ledMatrix.setInvert(true); ledMatrix.print("Invert"); // display text inverted delay(2000); ledMatrix.setInvert(false); ledMatrix.print(1234); // display number delay(2000); }

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.
Arduino Nano ESP32 MD_Parola library
  • Será solicitado que você instale a biblioteca “MD_MAX72XX”
  • Clique no botão Install All para instalar a dependência.
Arduino Nano ESP32 MD_MAX72XX library
  • 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.

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-matrix */ #include <MD_Parola.h> #include <MD_MAX72xx.h> #define HARDWARE_TYPE MD_MAX72XX::FC16_HW #define MAX_DEVICES 4 // 4 blocks #define CS_PIN D10 // The Arduino Nano ESP32 pin connected to the CS pin of the LED matrix // create an instance of the MD_Parola class MD_Parola ledMatrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); void setup() { ledMatrix.begin(); // initialize the object ledMatrix.setIntensity(15); // set the brightness of the LED matrix display (from 0 to 15) ledMatrix.displayClear(); // clear led matrix display ledMatrix.displayScroll("ESP32", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

Para mais efeitos de texto, visite a Referência da Biblioteca MD_Parola.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!