
Wenn der Taster gedrückt wird, würfelt der Arduino eine Zahl zwischen 1 und 6. Bevor das Ergebnis angezeigt wird, zeigt die LED-Matrix in schneller Folge zufällig ausgewählte Zahlen.


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 | void Sechs() { byte Zeichen[8] = { B11011011, B11011011, B00000000, B00000000, B00000000, B00000000, B11011011, B11011011 }; // Matrix anzeigen for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } |
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. |

Pinbelegung LED-Matrix
Benötigte Bauteile:
- Taster
- LED-Matrix
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Binde die benötigte Bibliothek ein und definiere die Variablen:
1 2 3 4 5 6 7 8 9 10 11 | #include “LedControl.h” int TASTER = 7; int TasterLesen; int Zahl; int Minimum = 1; int Maximum = 7; LedControl LEDMatrix = LedControl(12, 11, 10, 1); |
Starte im setup-Teil die LED-Matrix und lege den pinMode für den Taster fest:
1 2 3 4 5 6 7 8 9 10 11 12 | void setup() { // Matrix “aufwecken” LEDMatrix.shutdown(0, false); // mittlere Helligkeit setzen LEDMatrix.setIntensity(0, 8); // Zufallsgenerator starten randomSeed(A0); pinMode(TASTER, INPUT_PULLUP); } |
Verwende für die Ermittlung der Zufallszahl eine ⇒Funktion.
1 2 3 4 5 | int ZufallsZahl() { Zahl = random(Minimum, Maximum); return Zahl; } |
Die ⇒Funktion Wuerfeln() ermittelt eine Zufallszahl und zeigt sie an.
Die Abfrage der Zufallszahl kannst du mit ⇒switch … case erledigen.
Verwende für die Anzeige der Würfelaugen die folgenden Funktionen:
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | void Eins() { byte Zeichen[8] = { B00000000, B00000000, B00000000, B00011000, B00011000, B00000000, B00000000, B00000000 }; for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } } void Zwei() { byte Zeichen[8] = { B11000000, B11000000, B00000000, B00000000, B00000000, B00000000, B00000011, B00000011 }; for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } } void Drei() { byte Zeichen[8] = { B11000000, B11000000, B00000000, B00011000, B00011000, B00000000, B00000011, B00000011 }; for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } } void Vier() { byte Zeichen[8] = { B11000011, B11000011, B00000000, B00000000, B00000000, B00000000, B11000011, B11000011 }; for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } } void Fuenf() { byte Zeichen[8] = { B11000011, B11000011, B00000000, B00011000, B00011000, B00000000, B11000011, B11000011 }; for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } } void Sechs() { byte Zeichen[8] = { B11011011, B11011011, B00000000, B00000000, B00000000, B00000000, B11011011, B11011011 }; for (int zaehler = 0; zaehler < 8; zaehler ++) { LEDMatrix.setRow(0, zaehler, Zeichen[zaehler]); } } |
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 | void Wuerfeln() { Zahl = ZufallsZahl(); switch (Zahl) { case 1: Eins(); break; case 2: Zwei(); break; case 3: Drei(); break; case 4: Vier(); break; case 5: Fuenf(); break; case 6: Sechs(); break; } } |
Im loop-Teil wird der Taster abgefragt und in der ⇒for-Schleife das Würfeln simuliert:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void loop() { // Zufallsgenerator neu starten randomSeed(millis()); TasterLesen = digitalRead(TASTER); if (TasterLesen == LOW) { delay(300); // Würfeleffekt for (int i = 0; i < 5; i++) { int Zahl = random(Minimum, Maximum); Wuerfeln(); delay(200); } } } |
Verwandte Anleitungen:
- Laplace-Versuch
- Lottozahlen — Anzeige auf einem LCD
- Lottozahlen mit einem Ethernet-Shield
- Lottozahlen mit WiFi und NTP
- Lottozahlen — Anzeige auf einem OLED-Display
- Lottozahlen auf eine SD-Karte schreiben
- Lottozahlen mit Zeitstempel anzeigen und auf einer SD-Karte speichern
- Schneckenrennen
- Würfeln einstellige 7‑Segment-Anzeige und Fernbedienung
- Würfeln mit der LED-Matrix UNO R4 WiFi
Letzte Aktualisierung:






