
Die LED-Matrix soll ein Lauflicht anzeigen.
So sieht es aus:
Die einzelnen LEDs werden in Reihen und Spalten angesprochen.
Die Schreibweise für jede Reihe kann binär angegeben werden: 0 = aus, 1 = an. Den Werten wird ein “B” vorangestellt.
Die LED-Matrix wurde in das Steckbrett eingesetzt, daher verlaufen die Reihen vertikal und die Spalten horizontal.

Beispiele:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | void PfeilUnten() { // Array für die 8 Reihen 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]); } } |

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | void Kreuz() { byte Zeichen[8] = { B10000001, // 1. Reihe B01000010, // 2. Reihe B00100100, // 3. Reihe B00011000, // 4. Reihe B00011000, // 5. Reihe B00100100, // 6. Reihe B01000010, // 7. Reihe B10000001 // 8. Reihe }; // Matrix anzeigen for (int i = 0; i < 8; i++) { LEDMatrix.setRow(0, i, Zeichen[i]); } } |

Schließe die LED-Matrix an.

Pinbelegung LED-Matrix
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Als Erstes musst du eine Bibliothek installieren:


Jedem Befehl muss der Name der Matrix mit abschließendem . vorangestellt werden.
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. |
Im Kopf des Programms musst du die Bibliothek einbinden und die Pinbelegung der LED-Matrix festlegen:
1 2 3 4 5 6 7 8 9 10 | #include “LedControl.h” /* VCC ⇒ 5V GND Pin 12 -> DATA IN Pin Pin 10 -> CLK Pin Pin 11 -> CS Pin 1 -> eine Matrix angeschlossen */ LedControl LEDMatrix = LedControl(12, 11, 10, 1); |
Verändere das Beispiel so, dass in jeder Zeile die LEDs nacheinander leuchten.
Die LED-Matrix wurde in das Steckbrett eingesetzt, daher verlaufen die Reihen vertikal und die Spalten horizontal.
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 10 -> CLK Pin Pin 11 -> CS Pin 1 -> eine Matrix angeschlossen */ LedControl LEDMatrix = LedControl(12, 11, 10, 1); void setup() { // Matrix “aufwecken” LEDMatrix.shutdown(0, false); // mittlere Helligkeit setzen LEDMatrix.setIntensity(0, 8); } 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); } } |

Für die Erstellung von Matrixen kannst du einen 🔗Editor (externer Link abgerufen am 19.12.23) verwenden.
Verwandte Anleitungen:
Letzte Aktualisierung:







