ESP32-S3 RGB-LED-Matrix-Projekt 6 - Cible-Spiel

ESP32-S3 RGB-LED-Matrix-Projekt 6 - Cible-Spiel

Projekt 6 - Zielspiel (Neigen Sie das Brett, um den Kreis zu treffen)

Projekt 6 ist das finale und interaktivste Projekt dieser ESP32-S3 RGB-LED-Matrix-Serie. Mit dem Onboard-QMI8658C-Bewegungssensor neigen Sie die Platine, um einen Punkt auf der 8×8-Matrix zu bewegen. Eine kreisförmige "Zielzone" befindet sich in der Mitte des Displays. Wenn Ihr Punkt den Kreis berührt, ändert sich die Farbe und (optional) piept ein Summer. Dies schafft ein einfaches, aber überraschend unterhaltsames Balance-/Koordinationsspiel.

Alle sechs Projekte werden in einem einzigen YouTube-Video (eingebettet auf dieser Seite) demonstriert. Der vollständige Game-Code wird automatisch unterhalb dieses Artikels geladen, und Affiliate-Kauf-Links für das Modul erscheinen im Abschnitt des Codes.

ESP32-S3 RGB-LED-Matrixmodul Übersicht

Dieses Modul umfasst:

  • ESP32-S3 Mikrocontroller(Wi-Fi + BLE)
  • 8×8 RGB-LED-Matrix(64 adressierbare LEDs)
  • QMI8658C-Beschleunigungsmesserfür Neigungs- und Orientierungssensorik
  • USB-CPort für Strom und Programmierung
  • Boot / ZurücksetzenTasten
  • VerfügbarGPIO-Pinsfür Add-Ons wie Summer oder Sensoren

Für dieses Spiel ist der Beschleunigungssensor unerlässlich – er meldet kontinuierlich die X/Y-Neigung, wodurch der Punkt basierend auf dem Winkel des Boards sanft bewegt werden kann. Der Videoabschnitt für dieses Projekt zeigt deutlich, wie der Punkt gleitet und reagiert, wenn Sie das Modul nach links/rechts/vorne/hinten neigen.:contentReference[oaicite:0]{index=0}

Im Video behandelte Projekte (Zeitstempel)

  • 00:00- Einführung
  • 02:01- Installation von ESP32-Boards
  • 03:32- Bibliotheken installieren
  • 05:32- Projekt 1: Bewegender Punkt
  • 11:11- Projekt 2: Textlauf
  • 12:59- Projekt 3: HTTP Text
  • 16:41- Projekt 4: Tilt Dot
  • 18:55- Projekt 5: Pfeil nach oben
  • 20:02-Projekt 6: Zielspiel (dieses Projekt)

Dieser Teil des Videos zeigt sowohl die Punktbewegung als auch die Logik zur Kreiserkennung in Aktion, was es einfacher macht zu verstehen, wie sich die Koordinaten verhalten.:contentReference[oaicite:1]{index=1}

ESP32-Boards im Arduino IDE installieren

Wenn Sie die früheren Projekte bereits abgeschlossen haben, ist die Montage des Boards erledigt. Andernfalls folgen Sie:

  1. File > Preferences→ Fügen Sie die ESP32-Board-URL hinzu.
  2. Tools > Board > Boards Manager…→ Installiere "ESP32".
  3. Wählen Sie das ESP32-S3-Board aus unterTools > Board.
  4. Wählen Sie den richtigen COM-Port aus unterTools > Port.

Installation der erforderlichen Bibliotheken

Dieses Spiel verwendet:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX
  • QMI8658(Bewegungsmelder)

Installieren Sie sie über:

  1. Sketch > Include Library > Manage Libraries…
  2. Suche:NeoMatrix→ Installieren
  3. Abhängigkeiten installieren (GFX+NeoPixel)
  4. Suchen und installierenQMI8658

Wie das Zielspiel funktioniert

Der QMI8658C-Beschleunigungssensor liefert X- und Y-Neigewerte. Diese werden auf LED-Koordinaten (0-7 in beide Richtungen) abgebildet. Ihr Punkt bewegt sich über die Matrix basierend auf dem Winkel der Platine.

Ein Kreis (oder Ring) wird auf dem Display als die "Zielfläche" gezeichnet. Sie gewinnen einen "Treffer", wenn der Punkt den Kreis überlappt. In diesem Moment:

  • Die Zielfarbe ändert sich (zufällig oder vordefiniert)
  • Ein optionaler Summer piept (wenn angeschlossen)

Da die Matrix klein ist, wird der Kreis mithilfe einer einfachen Radiusüberprüfung gezeichnet. Das Spiel läuft kontinuierlich, sodass Sie hin und her kippen können, um den Kreis wiederholt zu treffen.

Projekt 6 - Code-Einstellungen (Zielspiel)

Unten sind die wichtigsten benutzeranpassbaren Einstellungen aufgeführt, die sich oben im Sketch befinden. Der vollständige Code wird automatisch unter diesem Artikel angezeigt.

Matrix-Konfiguration


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

Die RGB-Matrix ist fest mit GPIO 14 verbunden - ändern Sie dies nicht.

Helligkeit


uint8_t matrixBrightness = 40;   // 0–255

Für den Innenbereich ist 30-60 ideal.

Punkfarbe


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

Das ist der Punkt, den du durch Kippen des Bretts bewegst.

Kreisfarbe (Zufällig oder Fest)


// 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;

SetrandomCircleColor = false;wenn Sie eine feste Farbe möchten.

Kreisradius


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

Größere Radien erleichtern das Spiel; kleinere erschweren es.

Neigungsempfindlichkeit


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

Wenn der Punkt zu schnell bewegt wird oder springt, verringern Sie diese Zahl.

Buzzer-Einstellungen (Optional)


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

Wenn Sie keinen Summer anschließen, stellen Sie einfach einuseBuzzer = false;

Zusammenfassung

Projekt 6 kombiniert alles, was aus früheren Projekten gelernt wurde: Matrizenzeichnung, Beschleunigungssensor-Eingabe, Farbsteuerung, Bewegungsglättung und optionale Geräusche. Das Neigen der Platine bewegt den Punkt, und das Berühren des Kreises ändert seine Farbe und (optional) löst einen Signalton aus. Es ist eine unterhaltsame Demonstration der Bewegungserkennung auf einem kompakten RGB-Display.

Der vollständige "Zielspiel"-Code wird automatisch unter diesem Artikel angezeigt. Sie können sich auch den Abschnitt über Projekt 6 im Video ansehen, um zu sehen, wie sich der Punkt bewegt und wie Treffer erkannt werden. Wenn Sie Ihr eigenes Spiel erstellen möchten, finden Sie unter dem Code-Bereich Affiliate-Links zum Kauf des ESP32-S3 RGB LED-Matrixmoduls.

Bilder

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
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

Fritzing-Datei