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

Controle de LED Matrix com Arduino

A utilização de matrizes de LED (LED Matrix) em projetos de Arduino permite a criação de displays dinâmicos e interativos, que podem exibir texto, gráficos e animações. Este artigo aborda a importância de entender como controlar uma LED Matrix com um Arduino, um conhecimento essencial para projetos de sinalização, decoração e até mesmo em aplicações mais complexas como painéis de informação em tempo real. Ajustaremos a implementação para que seja compatível com o ambiente Arduino, utilizando bibliotecas específicas que facilitam a programação e o controle dos LEDs.

Projeto: O projeto consiste em criar um display de LED Matrix controlado por um Arduino, capaz de exibir mensagens de texto e padrões gráficos simples. O objetivo é demonstrar como configurar a matriz de LEDs, programar mensagens e criar animações básicas. Serão abordadas as funcionalidades de rolagem de texto, mudança de brilho e exibição de padrões gráficos.

Lista de componentes:

  • 1x Arduino Uno
  • 1x LED Matrix 8x8
  • 1x Módulo controlador MAX7219
  • 1x Protoboard
  • Jumpers (fios de conexão)

Exemplos:

  1. Configuração Básica e Exibição de Texto Estático
#include <LedControl.h> // Inclui a biblioteca LedControl

// Parâmetros de inicialização do LedControl
// Pin 12 é conectado ao DataIn
// Pin 11 é conectado ao CLK
// Pin 10 é conectado ao LOAD
// Número de dispositivos é 1 (uma matriz de 8x8)
LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  lc.shutdown(0, false);       // Inicializa a matriz
  lc.setIntensity(0, 8);       // Define o brilho (0-15)
  lc.clearDisplay(0);          // Limpa a matriz
  displayText("HELLO");        // Exibe a mensagem "HELLO"
}

void loop() {
  // Loop vazio, a mensagem é exibida uma vez no setup
}

void displayText(String text) {
  for (int i = 0; i < text.length(); i++) {
    lc.setChar(0, i, text[i], false); // Exibe cada caractere
  }
}
  1. Rolagem de Texto
#include <LedControl.h>

LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 8);
  lc.clearDisplay(0);
}

void loop() {
  scrollText("ARDUINO LED MATRIX");
}

void scrollText(String text) {
  for (int pos = 0; pos < text.length() * 8; pos++) {
    lc.clearDisplay(0);
    for (int i = 0; i < 8; i++) {
      lc.setColumn(0, i, getColumnData(text, pos + i));
    }
    delay(100); // Controla a velocidade da rolagem
  }
}

byte getColumnData(String text, int col) {
  if (col < 0 || col >= text.length() * 8) {
    return 0;
  }
  int charIndex = col / 8;
  int colIndex = col % 8;
  return pgm_read_byte(&font[text[charIndex] - 32][colIndex]);
}

// Fonte de 5x7 pixels para caracteres ASCII
const byte font[][8] PROGMEM = {
  // Definição da fonte... (A fonte completa deve ser definida aqui)
};

Nota: Os campos "TTT:", "" e "

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.