Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Painel de Matriz de LEDs com Arduino

O uso de painéis de matriz de LEDs em projetos com Arduino é uma excelente maneira de criar displays visuais dinâmicos e informativos. Esses painéis são compostos por uma série de LEDs dispostos em uma grade, permitindo a exibição de textos, gráficos e animações. A importância desse tema reside na sua ampla aplicação em projetos de sinalização, decoração, comunicação visual e até mesmo em interfaces de usuário. Ajustar esses painéis para trabalhar com o Arduino envolve a utilização de bibliotecas específicas que facilitam a comunicação e o controle dos LEDs.

Projeto: Neste projeto, vamos criar um display de texto rolante utilizando um painel de matriz de LEDs de 8x8 controlado por um Arduino. O objetivo é demonstrar como controlar o painel para exibir mensagens de texto que se movem da direita para a esquerda. As funcionalidades incluem a capacidade de alterar a mensagem exibida e ajustar a velocidade de rolagem.

Lista de componentes:

  • 1x Arduino Uno
  • 1x Painel de Matriz de LEDs 8x8 com controlador MAX7219
  • 1x Protoboard
  • 5x Cabos jumpers macho-macho

Exemplos:

// Inclui a biblioteca LedControl para controlar o painel de matriz de LEDs
#include <LedControl.h>

// Pinos de conexão do MAX7219 ao Arduino
const int DIN_PIN = 12;
const int CS_PIN = 11;
const int CLK_PIN = 10;

// Inicializa o objeto LedControl
LedControl lc = LedControl(DIN_PIN, CLK_PIN, CS_PIN, 1);

// Mensagem a ser exibida
String message = "Hello, Arduino!";

// Configuração inicial
void setup() {
  // Inicializa o painel de matriz de LEDs
  lc.shutdown(0, false);       // Liga o display
  lc.setIntensity(0, 8);       // Define o brilho (0 a 15)
  lc.clearDisplay(0);          // Limpa o display
}

// Função principal de loop
void loop() {
  // Exibe a mensagem rolando da direita para a esquerda
  scrollMessage(message);
}

// Função para rolar a mensagem no painel de matriz de LEDs
void scrollMessage(String msg) {
  int len = msg.length();
  for (int i = 0; i < len * 8; i++) {
    lc.clearDisplay(0);
    for (int j = 0; j < len; j++) {
      drawChar(msg[j], 8 * j - i);
    }
    delay(100);  // Ajuste a velocidade de rolagem aqui
  }
}

// Função para desenhar um caractere no painel de matriz de LEDs
void drawChar(char c, int offset) {
  byte font[96][8] = {
    // Definição da fonte 8x8 para caracteres ASCII
    // (Apenas alguns caracteres de exemplo)
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ' '
    {0x00,0x00,0x5F,0x00,0x00,0x00,0x00,0x00}, // '!'
    {0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00}, // '"'
    // ...
  };
  if (c < 32 || c > 127) return;  // Verifica se o caractere está na faixa válida
  for (int i = 0; i < 8; i++) {
    if (offset + i >= 0 && offset + i < 8) {
      lc.setColumn(0, offset + i, font[c - 32][i]);
    }
  }
}

Comentários sobre o código:

  1. A biblioteca LedControl é usada para simplificar o controle do painel de matriz de LEDs.
  2. Os pinos DIN_PIN, CS_PIN e CLK_PIN são definidos para a comunicação SPI com o controlador MAX7219.
  3. A função setup() inicializa o painel de matriz de LEDs.
  4. A função loop() chama scrollMessage() para exibir a mensagem rolando continuamente.
  5. A função scrollMessage() desloca a mensagem ao longo do painel.
  6. A função drawChar() desenha caracteres individuais no painel com base em uma fonte 8x8.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.