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

Texto Rolante com Arduino

O projeto de Texto Rolante com Arduino é uma aplicação interessante e educativa para quem deseja aprender mais sobre displays de LED e a programação de microcontroladores. Este projeto permite que você exiba mensagens de texto que se movem horizontalmente em um display de LED, criando um efeito visual atraente. É uma ótima maneira de se familiarizar com a interface de hardware e software do Arduino, além de ser um projeto divertido e útil para diversas aplicações, como painéis de informação, decoração, entre outros.

Project: Neste projeto, iremos criar um display de texto rolante utilizando um módulo de display de LED 8x8 e um Arduino. O objetivo é exibir uma mensagem de texto que se move da direita para a esquerda continuamente. A funcionalidade principal é a rolagem do texto, mas o projeto pode ser expandido para incluir diferentes efeitos de rolagem, controle de velocidade, e até mesmo a exibição de diferentes mensagens baseadas em entradas externas.

Components List:

  1. Arduino Uno (1 unidade)
  2. Módulo de Display de LED 8x8 com controlador MAX7219 (1 unidade)
  3. Jumpers (vários)
  4. Protoboard (1 unidade)
  5. Fonte de alimentação (1 unidade, se necessário)

Examples:

// Incluindo a biblioteca necessária para controlar o display de LED
#include <LedControl.h>

// Definindo os pinos de conexão do MAX7219 ao Arduino
#define DIN_PIN 12
#define CLK_PIN 11
#define CS_PIN 10

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

// Definindo a mensagem a ser exibida
const char* message = "Hello, world!";

// Função de configuração
void setup() {
  // Inicializando o display
  lc.shutdown(0, false);       // Acorda o display
  lc.setIntensity(0, 8);       // Define a intensidade (0-15)
  lc.clearDisplay(0);          // Limpa o display
}

// Função principal de loop
void loop() {
  scrollMessage(message);
}

// Função para rolar a mensagem no display
void scrollMessage(const char* msg) {
  int len = strlen(msg);
  for (int i = 0; i < len * 8 + 8; i++) {
    lc.clearDisplay(0);
    for (int j = 0; j < 8; j++) {
      if (i - j * 8 >= 0 && i - j * 8 < len * 8) {
        lc.setRow(0, j, pgm_read_byte_near(font8x8_basic + msg[(i - j * 8) / 8] * 8 + j));
      }
    }
    delay(100);
  }
}

// Fonte de caracteres 8x8
const uint8_t font8x8_basic[128][8] PROGMEM = {
  // Definição dos caracteres ASCII de 0x20 a 0x7F
  // Cada caractere é representado por uma matriz 8x8 de bits
  // Exemplo para o caractere 'H' (0x48):
  // {0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18},
  // ...
};

Comentários sobre o código:

  • A biblioteca LedControl.h é usada para controlar o display de LED com o controlador MAX7219.
  • Os pinos DIN_PIN, CLK_PIN e CS_PIN são definidos para a comunicação SPI com o display.
  • A função setup() inicializa o display, definindo a intensidade e limpando qualquer dado anterior.
  • A função loop() chama a função scrollMessage() continuamente para rolar a mensagem.
  • A função scrollMessage() rola a mensagem de texto no display, deslocando-a pixel por pixel.
  • A matriz font8x8_basic contém a definição dos caracteres ASCII em formato 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.