#define Button 32
#define D1 23
#define D5 5
#define D2 21
#define D6 22
#define D4 18
#define D3 4
#define D7 19
int LEDs[] = {23, 5, 21, 22, 18, 4, 19};
void setup()
{
Serial.begin(115200);
for(int i = 0; i < 7; i++)
{
pinMode(LEDs[i], OUTPUT);
}
pinMode(Button, INPUT);
randomSeed(analogRead(0));
}
void ALL_OFF()
{
for(int i = 0; i < 7; i++)
{
digitalWrite(LEDs[i], LOW);
}
}
void loop()
{
ALL_OFF(); // Turn OFF all LEDs
while(digitalRead(Button) == LOW); // Wait for Button pressed
int dice = random(1, 7); // Generate a random number
Serial.println(dice);
switch (dice)
{
case 1: // Number 1
digitalWrite(D4, HIGH); // Turn ON D4
break;
case 2: // Number 2
digitalWrite(D2, HIGH); // Turn ON D2,D6
digitalWrite(D6, HIGH);
break;
case 3: // Number 3
digitalWrite(D2, HIGH); // Turn ON D2,D4,D6
digitalWrite(D4, HIGH);
digitalWrite(D6, HIGH);
break;
case 4: // Number 4
digitalWrite(D1, HIGH); // Turn ON D1,D3,D5,D7
digitalWrite(D3, HIGH);
digitalWrite(D5, HIGH);
digitalWrite(D7, HIGH);
break;
case 5: // Number 5
digitalWrite(D1, HIGH); // Turn ON D1,D3,D4,D5,D7
digitalWrite(D3, HIGH);
digitalWrite(D4, HIGH);
digitalWrite(D5, HIGH);
digitalWrite(D7, HIGH);
break;
case 6: // Number 6
digitalWrite(D1, HIGH); // Turn ON D1,D2,D3,D5,D6,D7
digitalWrite(D2, HIGH);
digitalWrite(D3, HIGH);
digitalWrite(D5, HIGH);
digitalWrite(D6, HIGH);
digitalWrite(D7, HIGH);
break;
}
delay(3000); // Display for 3 seconds
}