/*
https://forum.arduino.cc/t/program-for-electronical-dice-doesnt-work/1253695
*/
int Pin31 = 2;
int Pin32 = 3;
int Pin33 = 4;
int Pin34 = 5;
int Button1 = 6;
int Button2 = 7;
int statk1;
int statk2;
int r;
void setup() {
pinMode(Pin31, OUTPUT);
pinMode(Pin32, OUTPUT);
pinMode(Pin33, OUTPUT);
pinMode(Pin34, OUTPUT);
pinMode(Button1, INPUT);
pinMode(Button2, INPUT);
}
void loop() {
statk1 = digitalRead(Button1);
statk2 = digitalRead(Button2);
if(statk2 == HIGH){
off();
}
if(statk1 == HIGH){
Shuffle();
randomSeed(analogRead(A0));
r = random (1,7);
statk1 = digitalRead(Button1);
if (statk1 == HIGH){
six();
}
else{
if(r==1){
one();
}else if(r==2){
two();
}else if(r==3){
three();
}else if(r==4){
four();
}else if(r==5){
fife();
}else if(r==6){
six();
}
}
}
}
void Shuffle() {
one();
delay(100);
off();
delay(100);
two();
delay(100);
off();
delay(100);
three();
delay(100);
off();
delay(100);
four();
delay(100);
off();
delay(100);
fife();
delay(100);
off();
delay(100);
six();
delay(100);
off();
delay(100);
}
void off(){
digitalWrite(Pin31, LOW);
digitalWrite(Pin32, LOW);
digitalWrite(Pin33, LOW);
digitalWrite(Pin34, LOW);
}
void one(){
digitalWrite (Pin31, HIGH);
}
void two(){
digitalWrite (Pin32, HIGH);
}
void three(){
digitalWrite (Pin31, HIGH);
digitalWrite (Pin32, HIGH);
}
void four(){
digitalWrite (Pin32, HIGH);
digitalWrite (Pin33, HIGH);
}
void fife(){
digitalWrite (Pin32, HIGH);
digitalWrite (Pin33, HIGH);
digitalWrite (Pin31, HIGH);
}
void six(){
digitalWrite (Pin32, HIGH);
digitalWrite (Pin31, HIGH);
digitalWrite (Pin33, HIGH);
}