Die LED-Matrix mit der Bezeichnung Max7219 besteht aus 8x8 LEDs.

Sie wird über ⇒SPI angesteuert. Deshalb sind neben 5V und GND für die Ansteuerung nur drei Pins nötig.
Die einzelnen LEDs werden in Reihen und Spalten angesprochen.
Die Schreibweise für jede Reihe kann binär angegeben werden: 0 = aus, 1 = an.
Die LED-Matrix wurde in das Steckbrett eingesetzt, daher verlaufen die Reihen vertikal und die Spalten horizontal.

Beispiel:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | void PfeilUnten() { byte Zeichen[8] = { B00010000, // 1. Reihe B00110000, // 2. Reihe B01111111, // 3. Reihe B11111111, // 4. Reihe B01111111, // 5. Reihe B00110000, // 6. Reihe B00010000, // 7. Reihe B00000000 // 8. Reihe }; // Matrix anzeigen for (int i = 0; i < 8; i++) { LEDMatrix.setRow(0, i, Zeichen[i]); } } |
Benötigte Bibliothek:

Funktionen der Bibliothek LEDControl
| Schlüsselwort | Aktion |
|---|---|
| LedControl Name_der_Matrix(Data-In, CLK, CS, AnzahlMatrix) | LED-Matrix initialisieren: LedControl LEDMatrix = LedControl(12, 11, 10, 1); |
| shutDown(NummerMatrix, true/false) | Matrix aufwecken: shutDown(0, false); |
| setIntensity(NummerMatrix, Helligkeit) | Helligkeit setzen (0–20) setIntensity(0, 8); |
| clearDisplay(NummerMatrix) | clearDisplay(0); |
| setLed(NummerMatrix, Zeile, Spalte, true/false); | einzelne LED schalten setLed(0, 0, 0, true); |
| setRow(NummerMatrix, Zeile, Byte) | zeilenweise ein Byte schreiben: setRow(0, Zeile, B10000000); setRow kann Werte zwischen 0 und 7 haben ![]() Wenn die LED-Matrix in das Steckbrett gesetzt wird, verlaufen die Reihen vertikal. |
| setColumn(NummerMatrix, Spalte, Byte) | spaltenweise ein Byte schreiben: setColumn(0, Spalte, B10000000); setColumn kann Werte zwischen 0 und 7 haben ![]() Wenn die LED-Matrix in das Steckbrett gesetzt wird, verlaufen die Spalten horizontal. |
Beispielprogramm Lauflicht
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | // Bibliothek LedControl einbinden #include “LedControl.h” /* Pinbelegung VCC -> 5V GND Pin 12 -> DATA IN-pin Pin 11 -> CLK-pin Pin 10 -> CS-pin */ LedControl LEDMatrix = LedControl(12, 11, 10, 1); int Zeit = 50; void setup() { // Matrix “aufwecken” LEDMatrix.shutdown(0, false); // mittlere Helligkeit setzen LEDMatrix.setIntensity(0, 2); } void loop() { /* setRow/setColumn erwartet drei Parameter: — die Addresse der LED-Matrix ⇒ 0 — die Angabe der Zeile — den Wert der LED 1 = an, 0 = aus */ // spaltenweise for (int i = 0; i < 7; i++) { // alle an LEDMatrix.setColumn(0, i, B11111111); delay(100); // alle aus LEDMatrix.setColumn(0, i, B00000000); delay(100); } // und zurück for (int i = 7; i >= 0; i–) { // alle an LEDMatrix.setColumn(0, i, B11111111); delay(100); // alle aus LEDMatrix.setColumn(0, i, B00000000); delay(100); } // zeilenweise for (int i = 0; i < 7; i++) { // alle an LEDMatrix.setRow(0, i, B11111111); delay(100); // alle aus LEDMatrix.setRow(0, i, B00000000); delay(100); } // und zurück for (int i = 7; i >= 0; i–) { // alle an LEDMatrix.setRow(0, i, B11111111); delay(100); // alle aus LEDMatrix.setRow(0, i, B00000000); delay(100); } } |
Letzte Aktualisierung:
