LED Matrix - Wie anfangen?

Hallo,
habe hier eine kleine 8x32 LED Matrix (WS2812B).
Leider bisher keine Erfahrung diese zu programmieren.
Es soll ein Scoreboard werden.
4 Taster
Taster 1 : Spieler 1 : -1
Taster 2 : Spieler 1 : +1
Taster 3 : Spieler 2 : -1
Taster 4 : Spieler 2 : +1

Jemand zufällig schon sowas erstellt?
Danke vorab.

Gruß

https://de.aliexpress.com/item/1005003901833984.html

Da solltest Du mal genauer schreiben, wie Du Dir das vorstellst.
Zahlen einstellig/zweistellig, welcher Microprozessor welche Lib (Adafruit oder FastLed) usw.
Was hast Du schon an Code?

Gruß Tommy

mach mal kleine Schritte.
Schließe einen Taster an und erhöhe einen Zähler wenn dieser gedrückt wird und gib das Ergebnis auf der seriellen Schnittstelle aus.

Damit würde ich an deiner Stelle anfangen.
Halte dich an das Beispiel "State Change Detection" in der IDE.
Wenn du wo anstehst, poste deinen Code und frage.

Ich würde die Aufgabe erstmal grob in Blöcke aufteilen und dann verfeinern.

  1. Zähllogik mit Ausgabe auf der Seriellen
  2. Anzeigen von Ziffern auf der Matrix
    1. und 2. verbinden

1a. Zählen (Eingaben über Serieller Schnittstelle)
1b. Tastendrücke erkennen und debouncen
1c. 1a. und 1b. verbinden

Soll 1a. einfach sein (Tastendruck -> +-1) oder etwas komplizierter?

  • Kurzer druck -> +- 1
  • Einen Taster halten -> einmal pro Sekunde +-5
  • Zwei Taster -> Anzeige = 0

Hab selber mit 16 * 16 und 8 * 32 Matrix gespielt.
Wichtig ist die saubere Versorgung der LEDn! Hier hatte ich die größten Probleme.
Will dir den Spass am Programmieren nicht verderben, deshalb nur Bilder

danke. die LED Matrix zeigt schon mal was an. Timer zählt hoch bis 20.

# include <Adafruit_NeoMatrix.h>
# define RGBMatrixPin 5

Adafruit_NeoMatrix RGBMatrix = Adafruit_NeoMatrix(32, 8, RGBMatrixPin,
 NEO_MATRIX_TOP + NEO_MATRIX_LEFT +
 NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG,
 NEO_GRB + NEO_KHZ800);
void setup()
{
 RGBMatrix.setBrightness(10);
 // RGBMatrix starten
 RGBMatrix.begin();

 
}

int player = 0;


# define Rot RGBMatrix.Color(255,0,0)
# define Gruen RGBMatrix.Color(0,255,0)
# define Blau RGBMatrix.Color(0,0,255)
# define Magenta RGBMatrix.Color(139,0,139)
# define Pink RGBMatrix.Color(255,20,147)
# define Weiss RGBMatrix.Color(255,255,255)
# define Gelb RGBMatrix.Color(255,255,0)
 
void loop()
{ 
 RGBMatrix.clear();
 RGBMatrix.print((player));
 player = player +1;
 RGBMatrix.setCursor(0, 0);
 RGBMatrix.show();
 delay(1000);

 if (player == 20) {player=0;}

}

2 Fragen

1- Kann man Text zentrieren?
2- Kann man die LED Matrix in Sektionen einteilen, zb 3?

Erste 14 Pixel breit
Zweite 4 Pixel Breit
Dritte 14 Pixel breit

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.