Projeto de Matriz de LED RGB ESP32-S3 6 - Jogo de Cible

Projeto de Matriz de LED RGB ESP32-S3 6 - Jogo de Cible

Projeto 6 - Jogo de Alvo (Incline o Tabuleiro para Acertar o Círculo)

O Projeto 6 é o projeto final e mais interativo desta série de Matriz LED RGB ESP32-S3. Usando o sensor de movimento QMI8658C integrado, você inclina a placa para mover um ponto pela matriz 8×8. Uma "zona alvo" circular está situada no meio do display. Quando seu ponto toca o círculo, a cor muda e (opcionalmente) um zumbidor soa. Isso cria um jogo de equilíbrio/coordenção simples, mas surpreendentemente divertido.

Todos os seis projetos são demonstrados em um único vídeo do YouTube (incorporado nesta página). O código completo do jogo é carregado automaticamente abaixo deste 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 módulo inclui:

  • microcontrolador ESP32-S3(Wi-Fi + BLE)
  • Matriz LED RGB 8×8(64 LEDs endereçáveis)
  • Acelerômetro QMI8658Cpara detecção de inclinação e orientação
  • USB-Cporta para alimentação e programação
  • Reiniciar / Resetarbotões
  • DisponívelPinos GPIOpara complementos como campainhas ou sensores

Para este jogo, o acelerômetro é essencial - ele relata continuamente a inclinação X/Y, permitindo que o ponto se mova suavemente com base no ângulo do tabuleiro. A seção de vídeo deste projeto mostra claramente como o ponto desliza e reage conforme você inclina o módulo para a esquerda/direita/frente/trás.:contentReference[oaicite:0]{index=0}

Projetos Cobertos no Vídeo (Marcos de Tempo)

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

Esta parte do vídeo mostra tanto o movimento do ponto quanto a lógica de detecção de círculos em ação, facilitando a compreensão de como as coordenadas se comportam.:contentReference[oaicite:1]{index=1}

Instalando placas ESP32 no Arduino IDE

Se você já completou os projetos anteriores, a instalação da placa está concluída. Caso contrário, siga:

  1. File > Preferences→ Adicione a URL da placa ESP32.
  2. Tools > Board > Boards Manager…→ Instale "ESP32".
  3. Selecione a placa ESP32-S3 emTools > Board.
  4. Selecione a porta COM correta emTools > Port.

Instalando Bibliotecas Necessárias

Este jogo usa:

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

Instale-os através de:

  1. Sketch > Include Library > Manage Libraries…
  2. Pesquisar:NeoMatrix→ Instalar
  3. Instale as dependências (GFX+NeoPixel)
  4. Pesquisar e instalarQMI8658

Como o Jogo da MIRA Funciona

O acelerômetro QMI8658C fornece valores de inclinação X e Y. Esses valores são mapeados para coordenadas LED (0-7 em ambas as direções). Seu ponto se move pela matriz com base no ângulo da placa.

Um círculo (ou anel) é desenhado na tela como a "área alvo." Você ganha um "acerto" sempre que o ponto se sobrepõe ao círculo. Nesse momento:

  • A cor-alvo muda (aleatória ou predefinida)
  • Um buzzer opcional emite um beep (se conectado)

Como a matriz é pequena, o círculo é desenhado usando uma verificação simples de raio. O jogo roda continuamente, então você pode inclinar para frente e para trás para acertar o círculo repetidamente.

Projeto 6 - Configurações de Código (Jogo Alvo)

Abaixo estão as principais configurações ajustáveis pelo usuário localizadas na parte superior do esboço. O código completo está automaticamente incluído abaixo deste artigo.

Configuração da Matriz


// Matrix configuration
const int MATRIX_PIN    = 14;
const int MATRIX_WIDTH  = 8;
const int MATRIX_HEIGHT = 8;

A matriz RGB está conectada diretamente ao GPIO 14 - não altere isso.

Brilho


uint8_t matrixBrightness = 40;   // 0–255

Para uso interno, 30-60 é ideal.

Cor do ponto


// Dot color (R, G, B)
uint8_t dotRed   = 255;
uint8_t dotGreen = 255;
uint8_t dotBlue  = 255;

Este é o ponto que você move inclinando o tabuleiro.

Cor da Círculo (Aleatória ou Fixa)


// Circle (target) color
uint8_t circleRed   = 0;
uint8_t circleGreen = 0;
uint8_t circleBlue  = 255;

// If true, choose a new random color each time the dot hits
bool randomCircleColor = true;

ConjuntorandomCircleColor = false;se você quiser uma cor fixa.

Raio do Círculo


// Target size (radius)
int targetRadius = 3;   // 3 fits well on 8×8 matrix

Raízes maiores tornam o jogo mais fácil; raízes menores tornam-no mais difícil.

Sensibilidade de Inclinação


// Sensitivity of tilt mapping
float tiltScale = 4.0f;   // increase = faster movement across screen

Se o ponto se mover muito rápido ou saltar, reduza esse número.

Configurações do Buzzer (Opcional)


// Buzzer pin (optional)
int buzzerPin = 6;      // connect buzzer + to pin 6, – to GND
bool useBuzzer = true;  // set false to disable sound

Se você não conectar um buzzer, basta definiruseBuzzer = false;

Resumo

O Projeto 6 combina tudo que foi aprendido em projetos anteriores: desenho de matriz, entrada de acelerômetro, controle de cor, suavização de movimento e som opcional. Inclinar a placa move o ponto, e atingir o círculo muda sua cor e (opcionalmente) aciona um bip. É uma demonstração divertida de detecção de movimento em um display RGB compacto.

O código completo do "Target Game" é exibido automaticamente abaixo deste artigo. Você também pode assistir à parte do Projeto 6 do vídeo para ver como o ponto se move e como os acertos são detectados. Se você quiser construir seu próprio jogo, links de afiliados para comprar o módulo de matriz LED RGB ESP32-S3 aparecem na seção do 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 3
ESP32 S3 Matrix displaying rainbow heart 3
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix1
ESP32-S3_RGB_8x8_matrix-2
ESP32-S3_RGB_8x8_matrix-2
804-ESP32-S3 RGB LED Matrix Project 6 - Cible game
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Arquivo Fritzing