Projeto de Matriz LED RGB ESP32-S3 4 - Ponto Inclinado

Projeto de Matriz LED RGB ESP32-S3 4 - Ponto Inclinado

Projeto 4 - Tilt Dot (Mova o Ponto inclinando a Matriz LED RGB ESP32-S3)

O Projeto 4 apresenta o sensor de movimento embutido no módulo de matriz de LEDs RGB ESP32-S3. Em vez de mover o ponto automaticamente (como no Projeto 1) ou rolar texto (Projetos 2 e 3), este projeto permite controlar a posição do ponto simplesmente inclinando a placa. O ponto se move suavemente pela tela RGB 8×8 com base em leituras ao vivo do acelerômetro QMI8658C na parte traseira do módulo.

Todos os seis projetos desta série são demonstrados em um vídeo no YouTube. O mesmo vídeo está incorporado nesta página, para que você possa ver exatamente como o ponto se move em tempo real à medida que a placa se inclina. O código completo para este projeto é carregado automaticamente abaixo do artigo, e os links de compra afiliados para o módulo aparecem na seção de código.

Visão geral do Módulo de Matriz LED RGB ESP32-S3

Este projeto utiliza o módulo de matriz de LED RGB ESP32-S3, que inclui:

  • Microcontrolador ESP32-S3com Wi-Fi e Bluetooth
  • Matriz LED RGB 8×8(64 LEDs endereçáveis individualmente)
  • Acelerômetro QMI8658Cna parte de trás para detecção de inclinação e movimento
  • porta USBpara programação e energia
  • Botão de inicialização / Resetar
  • Pinos GPIO utilizáveispara futura expansão

O sensor QMI8658C lêX,Y, eZvalores de aceleração e orientação, permitindo que o ponto se mova para cima/baixo/esquerda/direita com base em como a placa está inclinada.:contentReference[oaicite:0]{index=0}

Projetos Abrangidos no Vídeo (Carimbos de Tempo)

  • 00:00- Introdução
  • 02:01- Instalando placas ESP32
  • 03:32- Instalando bibliotecas
  • 05:32- Projeto 1: Ponto Móvel
  • 11:11- Projeto 2: Rolagem de Texto
  • 12:59- Projeto 3: Texto HTTP
  • 16:41-Projeto 4: Tilt Dot (este projeto)
  • 18:55- Projeto 5: Seta Para Cima
  • 20:02- Projeto 6: Jogo de Alvo

Assistir à demonstração de inclinação no vídeo é altamente recomendável, pois você pode ver como o ponto reage suavemente à orientação da placa.:contentReference[oaicite:1]{index=1}

Instalando Placas ESP32 no Arduino IDE

Se você completou algum projeto anterior, o suporte da placa já está instalado. Caso contrário, siga estas etapas:

  1. AbrirFile > Preferences→ Adicione a URL das placas ESP32.
  2. Ir paraTools > Board > Boards Manager…e instalarESP32.
  3. Selecione sua placa ESP32-S3 emTools > Board.
  4. Selecione a porta COM correta emTools > Port.

Instalando Bibliotecas Necessárias

Este projeto requer as seguintes bibliotecas:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX Library
  • QMI8658(sensor de movimento)

Instale-os no Gerenciador de Bibliotecas:

  1. AbertoSketch > Include Library > Manage Libraries….
  2. Pesquisar porAdafruit NeoMatrix→ Instalar.
  3. Permitir instalação automática deAdafruit GFXeAdafruit NeoPixel.
  4. Procurar porQMI8658por seu autor listado → Instalar.:contentReference[oaicite:2]{index=2}

Como funciona o Projeto 4

O sensor QMI8658C fornece continuamente dados de aceleração ao longo dos eixos X, Y e Z. Para este projeto, utilizamos apenas os eixos X e Y para decidir:

  • Quão longe mover o ponto para a esquerda ou para a direita (eixo X)
  • Quão longe mover o ponto para cima ou para baixo (eixo Y)

Os valores do sensor são mapeados em uma faixa de coordenadas de 0 a 7 (para a matriz LED 8x8). A posição do ponto é atualizada várias vezes por segundo, proporcionando um efeito de deslizamento suave à medida que você inclina o módulo.:contentReference[oaicite:3]{index=3}

Projeto 4 - Configurações de Código (Tilt Dot)

Abaixo estão as configurações editáveis pelo usuário encontradas perto do topo do código do projeto. O esboço completo aparece abaixo do artigo automaticamente.

Pino e Tamanho da Matriz


// 8×8 RGB matrix configuration
const int MATRIX_PIN    = 14;   // fixed pin for this board
const int MATRIX_WIDTH  = 8;
const int MATRIX_HEIGHT = 8;

SairMATRIX_PINat14Está conectado de forma permanente à matriz a bordo.

Brilho


// Overall brightness (0–255)
uint8_t matrixBrightness = 40;

Aumente se necessário, mas evite brilho extremo ao visualizar de perto.

Cor do ponto


// Dot color (R, G, B)
uint8_t dotRed   = 0;
uint8_t dotGreen = 200;   // light green (default)
uint8_t dotBlue  = 0;

Altere esses valores para criar qualquer cor. Exemplos:

  • Vermelho:(255, 0, 0)
  • Amarelo:(255, 255, 0)
  • Branco:(255, 255, 255)

Sensibilidade ao Movimento

Para prevenir saltos extremos, os valores do acelerômetro são geralmente limitados ou escalonados. Uma configuração típica se parece com:


// How aggressively tilt affects movement
float sensitivity = 4.0f;   // larger = faster movement across screen

Se o ponto se mover muito devagar → aumente o valor. Se o ponto se mover de forma muito brusca → diminua-o.

Taxa de Atualização (Frequência de Atualização)

Você pode adicionar um pequeno atraso entre as atualizações para suavizar o movimento:


// Delay between position updates (ms)
int refreshDelayMs = 20;   // lower = smoother and faster response

Valores entre 10-30 ms parecem muito responsivos.

Resumo

O Projeto 4 dá vida ao acelerômetro QMI8658C embutido no ESP32-S3 permitindo que você controle a matriz de LEDs com movimento físico. Uma leve inclinação da placa move o ponto na mesma direção, tornando este projeto um excelente trampolim para os projetos mais avançados "Seta para Cima" e "Jogo do Alvo".

O esboço completo do Tilt Dot está carregado abaixo deste artigo (automaticamente). Para melhor compreensão, assista à demonstração do tilt no vídeo, onde você pode ver como o ponto se move suavemente à medida que a placa é girada. Links para comprar o módulo de matriz de LEDs RGB ESP32-S3 estão incluídos na seção de código.

Imagens

ESP32 S3 Matrix
ESP32 S3 Matrix
ESP32 S3 Matrix  pin out
ESP32 S3 Matrix pin out
ESP32-S3_RGB_8x8_matrix-3
ESP32-S3_RGB_8x8_matrix-3
ESP32 S3 Matrix displaying rainbow heart
ESP32 S3 Matrix displaying rainbow heart
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix-2
ESP32-S3_RGB_8x8_matrix-2
802-ESP32-S3 RGB LED Matrix Project 4 - Tilt dot
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Arquivo Fritzing