Arduino Nano - Matriz de LED

Este tutorial ensina você a usar o Arduino Nano com um display de matriz de LED. Em detalhes, vamos aprender:

Depois disso, você pode ajustar rapidamente o código para outras matrizes de LED, como a matriz de LED 16x8, a matriz de LED 64x8 ...

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×FC-16 LED Matrix 32x8
1×FC-16 LED Matrix 8x8
1×Generic LED Matrix 8x8
1×Fios Jumper
1×Conector de Alimentação DC
1×5V Power Adapter for Arduino Nano
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

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

Os displays de matriz de LED são comumente chamados de displays LED ou displays de matriz de pontos.

Display de matriz de LED

As matrizes de LED vêm em muitas variedades. A matriz de LED baseada no MAX7219 é uma escolha popular para uso com o Arduino Nano. Ela tem as seguintes características:

  • Cada bloco consiste em uma matriz de LED 8x8 (64 LEDs) e um driver MAX7219.
  • Duas formas comuns de bloco são o módulo genérico e o módulo FC-16.
  • Uma matriz de LED pode ser formada por um ou vários blocos conectados em cadeia (daisy-chain).
  • Você pode comprar matrizes de LED já montadas com vários blocos (por exemplo, 4 em 1, 8 em 1).
  • Como alternativa, você pode comprar blocos individuais e ligá-los entre si para criar uma matriz de LED do tamanho desejado.
  • O tamanho da matriz de LED usada deve ser declarado no código do Arduino Nano.

Pinagem da Matriz de LED

Pinagem da matriz de LED

Uma matriz de LED é composta por um ou mais blocos. Cada bloco tem dois grupos de pinos:

  • Grupo de pinos de entrada:
    • VCC: conectado à alimentação de 5V.
    • GND: conectado ao GND.
    • DIN: Pino de dados, conectado ao pino SPI MOSI do Arduino Nano.
    • CS: Chip Select, conectado a qualquer pino digital do Arduino Nano.
    • CLK: Pino de clock, conectado ao pino SPI MOSI do Arduino Nano.
  • Grupo de pinos de saída:
    • VCC: conectado ao VCC do próximo bloco.
    • GND: conectado ao GND do próximo módulo.
    • DOUT: Saída de dados, conectado ao pino DIN do próximo bloco.
    • CS: conectado ao CS do próximo bloco.
    • CLK conectado ao CLK do próximo bloco.

Diagrama de Ligação

Se a matriz de LED é feita de um único bloco:

  • Conecte os grupos de pinos de entrada ao Arduino Nano
  • Deixe o grupo de pinos de saída desconectado
Diagrama de ligação da matriz de LED 8x8 FC-16 com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Diagrama de ligação da matriz de LED 8x8 genérica com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Se a matriz de LED já vem montada com vários blocos:

  • Conecte o grupo de pinos de entrada ao Arduino Nano
  • Deixe o grupo de pinos de saída desconectado
Diagrama de ligação do display de matriz de LED com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Se a matriz de LED é feita por você com vários blocos:

  • Conecte os grupos de pinos de entrada do primeiro bloco ao Arduino Nano
  • Ligue os grupos de pinos de saída de cada bloco aos grupos de pinos de entrada do bloco seguinte
  • Deixe o grupo de pinos de saída do último bloco desconectado
Diagrama de ligação da matriz de LED 32x8 FC-16 com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Devido ao alto consumo de corrente do display (até 1A no brilho máximo):

  • Não o alimente pelo pino 5V de um Arduino Nano.
  • Use uma fonte de alimentação externa de 5V. Tanto o Arduino Nano quanto a matriz de LED podem ser alimentados por um único adaptador de alimentação de 5V.

Como o Arduino Nano é conectado à matriz de LED pelos pinos SPI:

  • Os pinos 13 (SCK) e 11 (MOSI) do Arduino Nano devem ser usados. Se for usada outra placa Arduino Nano, consulte a documentação oficial para os pinos SPI equivalentes.
  • O pino 3 (CS) pode ser alterado para qualquer pino do Arduino Nano.

Como Programar a Matriz de LED

Gerenciar a matriz de LED não é uma tarefa simples. Felizmente, existem bibliotecas que tornam tudo muito mais fácil. Aqui está um guia passo a passo de como escrever o código do Arduino Nano para controlar a matriz de LED:

  • Inclua as bibliotecas:
#include <MD_Parola.h> #include <MD_MAX72xx.h>
  • Especifique o tipo de hardware usado: GENERIC_HW ou FC16_HW.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
  • Especifique o número de blocos de LED usados. Por exemplo, uma matriz de LED 4 em 1 contém quatro blocos.
#define MAX_DEVICES 4
  • Especifique o pino que está conectado ao pino CS da matriz de LED. Por exemplo, o pino D3.
#define CS_PIN 3
  • Crie um objeto 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 }
  • Mostrar texto, valores numéricos e efeitos animados: veja a seção a seguir

Arduino Nano - Código da Matriz de LED

Este código se aplica a um display de matriz de LED FC-16 32x8 formado por quatro blocos. No entanto, ele pode ser adaptado com facilidade para 8x8, 16x8, 64x8 e outros tamanhos.

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-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 3 // 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 } 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

  • Conecte o Arduino Nano à matriz de LED conforme o diagrama de ligação.
  • Conecte o Arduino Nano a um PC usando um cabo USB.
  • Clique no ícone Libraries na barra à esquerda da Arduino IDE.)
  • Procure por “MD_MAX72XX” e localize a biblioteca MD_MAX72XX.
  • Pressione o botão Install.
  • Pesquise por “MD_Parola” e localize a biblioteca MD_Parola.
  • Pressione o botão Install.
Biblioteca MD_Parola para Arduino Nano
  • Você será solicitado a instalar a biblioteca “MD_MAX72XX”
  • Clique no botão Install All para instalar a dependência.
Biblioteca MD_MAX72XX para Arduino Nano
  • Copie o código e abra-o na Arduino IDE.
  • Clique no botão Upload na IDE para enviar o código ao Arduino Nano.
  • Veja a matriz de LED exibir a mensagem.

Código da Matriz de LED com Arduino Nano – Texto em Rolagem

Se uma mensagem for longa demais para ser exibida em uma matriz de LED, o efeito de texto em rolagem pode ser usado. Essa técnica permite que o texto role pelo display. O efeito de texto em rolagem permite que a mensagem se mova pela matriz de LED, mesmo que ela seja longa demais para caber.

Este código do Arduino Nano ilustra como mover uma mensagem pelo display de matriz de LED.

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-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 3 // 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("Hello, DIYables", PA_CENTER, PA_SCROLL_LEFT, 100); } void loop() { if (ledMatrix.displayAnimate()) { ledMatrix.displayReset(); } }

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

Vídeo

Tutoriais Relacionados

※ 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!