ESP32-S3 RGB-LED-Matrix-Projekt 5 - Pfeil immer nach oben

ESP32-S3 RGB-LED-Matrix-Projekt 5 - Pfeil immer nach oben

Projekt 5 - Pfeil Immer Nach Oben (Orientierungsanzeige mit QMI8658C)

Projekt 5 verwendet den Bewegungssensor QMI8658C, um die Ausrichtung der ESP32-S3 RGB-LED-Matrix zu erkennen und immer einen Pfeil anzuzeigen, der relativ zur Schwerkraft nach OBEN zeigt. Egal, wie Sie die Platine drehen – USB-Seite nach oben, OUSB-Seite nach oben, Seite "15" oder Seite "34" – der Pfeil dreht sich automatisch und zeigt in die physikalisch nach oben gerichtete Richtung.

Dies ist eine leistungsstarke Demonstration der Echtzeit-Orientierungserfassung mit dem integrierten Beschleunigungssensor. Alle sechs Projekte für dieses Modul werden in einem YouTube-Video vorgestellt, das ebenfalls auf dieser Seite eingebettet ist. Der vollständige Code für Projekt 5 wird automatisch unter dem Artikel geladen, und Affiliate-Links erscheinen im Abschnitt unter dem Code.

ESP32-S3 RGB-LED-Matrixmodul Übersicht

Das ESP32-S3 RGB-LED-Matrixmodul umfasst mehrere Komponenten, die dieses Projekt ermöglichen:

  • ESP32-S3-Mikrocontroller- bietet Wi-Fi, BLE und steuert die LED/IMU-Logik.
  • 8×8 RGB-LED-Matrix- zeigt den Pfeil in einer der vier Ausrichtungen an.
  • QMI8658C Beschleunigungssensor- erkennt Neigung, Bewegung und Orientierung.:contentReference[oaicite:0]{index=0}
  • USB-C-Anschlussfür Energie und Programmierung in der Arduino IDE.
  • Reset- und Boottastenzum Hochladen von Skizzen.
  • GPIO-Pinsverfügbar im gesamten Bereich für zusätzliche Projekte.

Die Richtung des Pfeils wird vollständig durch die Beschleunigungsmesserwerte bestimmt. Wenn das Board gedreht wird, erkennt der QMI8658C die neuen X/Y/Z-Werte, und die Skizze wählt aus, welches Pfeilmuster (↑, ↓, ←, →) gezeichnet werden soll.

Im Video behandelte Projekte (Zeitstempel)

  • 00:00- Einführung
  • 02:01- ESP32-Boards installieren
  • 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 Immer Nach Oben (dieses Projekt)
  • 20:02- Projekt 6: Zielspiel

Das Video zeigt klar, wie der Pfeil sich sofort in die andere Richtung ändert, je nachdem, wie das Modul gedreht wird. Es wird dringend empfohlen, diesen Abschnitt anzusehen.:contentReference[oaicite:1]{index=1}

ESP32-Boards im Arduino IDE installieren

Wenn Sie ein früheres Projekt abgeschlossen haben, ist die Board-Konfiguration bereits erledigt. Andernfalls:

  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 USB-COM-Port aus unterTools > Port

Installation der erforderlichen Bibliotheken

Projekt 5 verwendet:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX
  • QMI8658(Bewegungsmelder)
  1. Sketch > Include Library > Manage Libraries…
  2. Suche:NeoMatrix→ Installieren
  3. Installiere Abhängigkeiten:NeoPixel+GFX
  4. Suchen und installierenQMI8658vom Autor

Wie Projekt 5 funktioniert

Der QMI8658C misst die Schwerkraft auf den X-, Y- und Z-Achsen. Durch den Vergleich dieser Werte bestimmt die Skizze, welche physikalische Seite der Platine nach oben zeigt:

  • USB-Seite nach oben
  • OUSB-Seite nach oben(gegenüber USB)
  • Seite "15" nach oben
  • Seite "34" oben

Jede Orientierung entspricht einem anderen Pfeilmuster auf der 8×8-Matrix. Die Zuordnung folgt deiner bestätigten Orientierungslogik aus früheren Debugging-Sitzungen. Die Drehung der Platine wird kontinuierlich gelesen, und der Pfeil wird aktualisiert, sobald sich die obere Seite ändert.

Projekt 5 - Code-Einstellungen (Pfeil Immer Nach Oben)

Unten sind die benutzeranpassbaren Werte aus dem Konfigurationsbereich. Der vollständige Projektcode erscheint automatisch unter dem Artikel.

Matrix-Konfiguration


// Matrix configuration
const int MATRIX_PIN    = 14;   // fixed for this module
const int MATRIX_WIDTH  = 8;
const int MATRIX_HEIGHT = 8;

// Recommended orientation: Top-Left origin, progressive mode
// (actual constructor is inside the code loaded below)

Dieses Projekt nutztNEO_MATRIX_FORTSCHRITTLayout, um sicherzustellen, dass der Pfeil entsprechend der tatsächlichen Bewegung korrekt zeigt.

Helligkeit


uint8_t matrixBrightness = 40;   // 0–255

Sie können diesen Wert für hellere Umgebungen erhöhen. Für den Innenbereich sind 30-60 angenehm.

Pfeilfarbe


// Arrow color
uint8_t arrowRed   = 255;
uint8_t arrowGreen = 0;
uint8_t arrowBlue  = 0;

Ändern Sie diese Werte, um die Farbe des Pfeils zu ändern. Zum Beispiel:

  • Grüner Pfeil:(0, 255, 0)
  • Blauer Pfeil:(0, 0, 255)
  • Weißer Pfeil:(255, 255, 255)

Empfindlichkeit und Glättung

Um Jitter zu vermeiden, enthält der Code Glättungs- und Schwellenwertlogik. In den Einstellungen finden Sie möglicherweise etwas wie:


// Sensitivity / smoothing adjustment
float tiltThreshold = 0.30f;   // adjust if arrow changes too easily
  • Wenn dein Pfeil zu leicht umschlägt →erhöhenSchwelle.
  • Wenn der Pfeil zu langsam ist, um sich zu ändern →VerringerungSchwelle.

Pfeilmuster

Die Skizze enthält Pfeil-Bitmuster für:

  • ↑ hoch
  • ↓ unten
  • ← links
  • → rechts

Sie müssen diese nicht ändern, aber Sie können die Formen im Code ändern, wenn Sie einen anderen Stil wünschen.

Zusammenfassung

Projekt 5 zeigt, wie die ESP32-S3 RGB-LED-Matrix und der QMI8658C-Beschleunigungssensor zusammenarbeiten, um die Ausrichtung zu erkennen und einen Pfeil anzuzeigen, der immer nach oben zeigt. Dieses Projekt baut auf dem Tilt Dot (Projekt 4) auf und bereitet dich auf das finale interaktive Spiel in Projekt 6 vor.

Der vollständige "Arrow Always Up"-Sketch ist unter diesem Artikel (automatisch geladen) verfügbar. Es wird dringend empfohlen, den entsprechenden Teil des Videos anzusehen, um zu sehen, wie sofort der Pfeil auf die Drehung des Boards reagiert. Wenn Sie dieses Projekt zu Hause nachbauen möchten, finden Sie Affiliate-Links für das ESP32-S3 RGB LED-Matrixmodul im Abschnitt mit dem Code.

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 attached with buzzer to pin6 and GND
ESP32 S3 Matrix attached with buzzer to pin6 and GND
ESP32 S3 Matrix displaying red heart
ESP32 S3 Matrix displaying red heart
ESP32 S3 Matrix displaying green heart
ESP32 S3 Matrix displaying green heart
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
ESP32-S3-Mtrix - Alway Up
ESP32-S3-Mtrix - Alway Up
803-ESP32-S3 RGB LED Matrix Project 5 - Arrow always up
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

Fritzing-Datei