UPDATE:
Chilinski's way doesnt work for some reason it just rolls a number then displays it and every number after it E.g:
It rolls a 2 (pc says so) so it displays;
2
3
4
5
6
7
8
9
10
11
12.
What gone wrong?
here is my current code:
int value = 1;
int val = 900;
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
int led7 = 8;
int led8 = 9;
void setup()
{
randomSeed(analogRead(0)); //Random
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
pinMode(led8,OUTPUT);
}
void loop()
{
value = random(1, 13); //range for dice add one to the second number as it doesnt include it
Serial.print(value); // print the number to pc as well for debugging
Serial.print(" "); //adds double space to output to pc (neatness)
switch(value)
{
case 1: // this means "this is the case where value == 1"
{
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
delay(val);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
case 2: // do this when value == 2
{
digitalWrite(led5, HIGH);
digitalWrite(led1, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
case 3:
{
digitalWrite(led1, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led4, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 4:
{
digitalWrite(led2, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led7, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 5:
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led4, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 6:
{
digitalWrite(led6, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led4, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 7:{
digitalWrite(led1, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led7, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 8:
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 9:
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
}
case 10:
{
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led8, HIGH);
delay(200);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
delay(val);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led7, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led8, LOW);
digitalWrite(led7, LOW);
}
case 11:
{
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led8, HIGH);
delay(200);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
delay(val);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led8, LOW);
}
case 12:
{
digitalWrite(led2, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led3, HIGH);
delay(200);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
delay(val);
digitalWrite(led5, HIGH);
digitalWrite(led1, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(val);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led8, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
} //end of specs
}
// check if data has been sent from the computer
if (Serial.available()) {
val = Serial.read();
}
}