ESP32-S3 RGB-LED-Matrix-Projekt 4 - Neigungspunkt

ESP32-S3 RGB-LED-Matrix-Projekt 4 - Neigungspunkt

Projekt 4 - Tilt Dot (Bewege den Punkt durch Kippen des ESP32-S3 RGB-LED-Matrix)

Projekt 4 führt den Bewegungssensor ein, der im ESP32-S3 RGB LED Matrixmodul integriert ist. Anstatt den Punkt automatisch zu bewegen (wie in Projekt 1) oder Text zu scrollen (Projekte 2 und 3), ermöglicht dieses Projekt, die Position des Punkts einfach durch Neigen der Platine zu steuern. Der Punkt bewegt sich sanft über das 8×8 RGB-Display basierend auf aktuellen Messwerten des QMI8658C-Beschleunigungsmessers auf der Rückseite des Moduls.

Alle sechs Projekte dieser Reihe werden in einem YouTube-Video vorgestellt. Dasselbe Video ist auf dieser Seite eingebettet, sodass Sie genau sehen können, wie sich der Punkt in Echtzeit bewegt, während das Board kippt. Der komplette Code für dieses Projekt wird automatisch unter dem Artikel geladen, und Affiliate-Links für den Modul-Kauf erscheinen unter dem Code-Bereich.

ESP32-S3 RGB LED-Matrixmodul Übersicht

Dieses Projekt verwendet das ESP32-S3 RGB-LED-Matrixmodul, das Folgendes enthält:

  • ESP32-S3-Mikrocontrollermit Wi-Fi und Bluetooth
  • 8×8 RGB LED-Matrix(64 individuell ansteuerbare LEDs)
  • QMI8658C Beschleunigungssensorauf der Rückseite für Neigungs- und Bewegungsdetektion
  • USB-Anschlussfür Programmierung und Energie
  • Boot- / Zurücksetzen-Tasten
  • Verwendbare GPIO-Pinsfür zukünftige Expansion

Der QMI8658C-Sensor liestX,Y, undZBeschleunigungs- und Orientierungswerte, die es dem Punkt ermöglichen, sich nach oben/unten/links/rechts zu bewegen, je nachdem, wie das Board geneigt ist.:contentReference[oaicite:0]{index=0}

In dem 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 (dieses Projekt)
  • 18:55- Projekt 5: Pfeil nach oben
  • 20:02- Projekt 6: Zielspiel

Es wird dringend empfohlen, die Neigungsdemonstration im Video anzusehen, da Sie sehen können, wie der Punkt sanft auf die Ausrichtung der Tafel reagiert.:contentReference[oaicite:1]{index=1}

ESP32-Boards im Arduino IDE installieren

Wenn Sie ein früheres Projekt abgeschlossen haben, ist die Boardunterstützung bereits installiert. Andernfalls folgen Sie diesen Schritten:

  1. OffenFile > Preferences→ Fügen Sie die ESP32-Boards-URL hinzu.
  2. Gehe zuTools > Board > Boards Manager…und installierenESP32.
  3. Wählen Sie Ihr ESP32-S3-Board aus unterTools > Board.
  4. Wählen Sie den richtigen COM-Port aus unterTools > Port.

Installieren der erforderlichen Bibliotheken

Dieses Projekt benötigt die folgenden Bibliotheken:

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

Installieren Sie sie im Bibliotheksmanager:

  1. ÖffnenSketch > Include Library > Manage Libraries….
  2. Suche nachAdafruit NeoMatrix→ Installieren.
  3. Erlaube die automatische Installation vonAdafruit GFXundAdafruit NeoPixel.
  4. Suche nachQMI8658von seinem aufgeführten Autor → Install.:contentReference[oaicite:2]{index=2}

Wie Projekt 4 funktioniert

Der QMI8658C-Sensor liefert kontinuierlich Beschleunigungsdaten entlang der X-, Y- und Z-Achse. Für dieses Projekt verwenden wir nur die X- und Y-Achsen, um zu entscheiden:

  • Wie weit soll der Punkt nach links oder rechts verschoben werden (X-Achse)?
  • Wie weit den Punkt nach oben oder unten bewegen (Y-Achse)

Die Sensorwerte werden in einen Koordinatenbereich von 0 bis 7 (für die 8×8 LED-Matrix) abgebildet. Die Punktposition wird viele Male pro Sekunde aktualisiert, was den sanften Gleiteffekt ergibt, wenn Sie das Modul kippen.:contentReference[oaicite:3]{index=3}

Projekt 4 - Codeeinstellungen (Tilt Dot)

Nachfolgend sind die benutzerbearbeitbaren Einstellungen aufgeführt, die sich nahe oben im Code des Projekts befinden. Der vollständige Sketch erscheint automatisch unter dem Artikel.

Matrix-Pin und Größe


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

VerlassenMATRIX_PINat14Es ist fest mit der Bordmatrix verbunden.

Helligkeit


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

Erhöhen Sie bei Bedarf, vermeiden Sie jedoch extreme Helligkeit bei Nahansicht.

Punktfarbe


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

Ändern Sie diese Werte, um jede Farbe zu erstellen. Beispiele:

  • Rot:(255, 0, 0)
  • Gelb:(255, 255, 0)
  • Weiß:(255, 255, 255)

Bewegungsempfindlichkeit

Um extreme Sprünge zu verhindern, werden die Beschleunigungswerte normalerweise begrenzt oder skaliert. Eine typische Einstellung sieht folgendermaßen aus:


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

Wenn der Punkt zu langsam bewegt, erhöhen Sie den Wert. Wenn der Punkt zu abrupt bewegt, verringern Sie ihn.

Aktualisierungsrate (Bildwiederholfrequenz)

Sie können zwischen den Updates eine kleine Verzögerung hinzufügen, um die Bewegung zu glätten:


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

Werte zwischen 10-30 ms fühlen sich sehr reaktionsschnell an.

Zusammenfassung

Projekt 4 erweckt den eingebauten QMI8658C-Beschleunigungssensor des ESP32-S3 zum Leben, indem es Ihnen ermöglicht, das LED-Matrix mit physischer Bewegung zu steuern. Eine kleine Neigung der Platine bewegt den Punkt in die gleiche Richtung, was dieses Projekt zu einem perfekten Sprungbrett für die anspruchsvolleren Projekte "Pfeil nach oben" und "Zielspiel" macht.

Die vollständige Tilt Dot-Skizze ist automatisch unter diesem Artikel geladen. Für das beste Verständnis schauen Sie sich die Tilt-Demonstration im Video an, in dem Sie sehen können, wie flüssig sich der Punkt bewegt, während das Board gedreht wird. Links zum Kauf des ESP32-S3 RGB LED-Matrixmoduls sind im Code-Bereich enthalten.

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

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

Fritzing-Datei