#include "LedControl.h"
int TASTER = 7;
int TasterLesen;
int Zahl;
int Minimum = 1;
// der Zufallsgenerator rundet nach unten ⇒ Maximum = 7
int Maximum = 7;
/*
VCC -> 5V
GND
Pin 12 -> DATA IN-pin
Pin 10 -> CLK-pin
Pin 11 -> CS-pin
*/
LedControl LEDMatrix = LedControl(12, 11, 10, 1);
void setup()
{
// Matrix "aufwecken"
LEDMatrix.shutdown(0, false);
// mittlere Helligkeit setzen
LEDMatrix.setIntensity(0, 8);
// Zufallsgenerator starten
randomSeed(A0);
pinMode(TASTER, INPUT_PULLUP);
}
void loop()
{
TasterLesen = digitalRead(TASTER);
if (TasterLesen == LOW)
{
delay(300);
// Würfeleffekt
for (int i = 0; i < 8; i++)
{
int Zahl = random(Minimum, Maximum);
Wuerfeln();
delay(200);
}
}
}
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;
}
}
int ZufallsZahl()
{
Zahl = random(Minimum, Maximum);
return Zahl;
}
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]);
}
}
Letzte Aktualisierung: