
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.


|
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] = { 0b00010000, // 1. Reihe 0b00110000, // 2. Reihe 0b01111111, // 3. Reihe 0b11111111, // 4. Reihe 0b01111111, // 5. Reihe 0b00110000, // 6. Reihe 0b00010000, // 7. Reihe 0b00000000 // 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] = { 0b10000001, // 1. Reihe 0b01000010, // 2. Reihe 0b00100100, // 3. Reihe 0b00011000, // 4. Reihe 0b00011000, // 5. Reihe 0b00100100, // 6. Reihe 0b01000010, // 7. Reihe 0b10000001 // 8. Reihe }; // Matrix anzeigen for (int i = 0; i < 8; i++) { LEDMatrix.setRow(0, i, Zeichen[i]); } } |

Als Erstes musst du eine Bibliothek installieren:

Funktionen der Bibliothek LedControl
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. |
Bei der Kompilierung des Programms für andere Mikrocontroller kommt es zu einer Reihe von Fehlermeldungen:
B10000000 DEPRECATED(0b10000000)
Es handelt sich um Warnungen, das Programm wird einwandfrei kompiliert.
Die binäre Schreibweise hat sich geändert, ich habe die ⇒Dateien entsprechend korrigiert.
Wenn du die Dateien austauschst, verschwinden die Fehlermeldungen
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
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, 0b11111111); delay(100); // alle aus LEDMatrix.setColumn(0, i, 0b00000000); delay(100); } // und zurück for (int i = 7; i >= 0; i--) { // alle an LEDMatrix.setColumn(0, i, 0b11111111); delay(100); // alle aus LEDMatrix.setColumn(0, i, 0b00000000); delay(100); } // zeilenweise for (int i = 0; i < 7; i++) { // alle an LEDMatrix.setRow(0, i, 0b11111111); delay(100); // alle aus LEDMatrix.setRow(0, i, 0b00000000); delay(100); } // und zurück for (int i = 7; i >= 0; i--) { // alle an LEDMatrix.setRow(0, i, 0b11111111); delay(100); // alle aus LEDMatrix.setRow(0, i, 0b00000000); delay(100); } } |

Für die Erstellung von Matrixen kannst du einen 🔗Editor verwenden.
Ähnliche Projekte
Letzte Aktualisierung:







