const byte upButton = 5;
const byte downButton = 4;
const byte stopButton = 3;
const byte a = 6;
const byte b = 7;
const byte c = 8;
const byte d = 9;
const byte e = 10;
const byte f = 12;
const byte g = 11;
byte s1State, s2State, s3State;
void setup() {
for (int counter=6; counter<=12; counter++){
pinMode(counter, OUTPUT);
}
pinMode(upButton, INPUT);
pinMode(downButton, INPUT);
pinMode(stopButton, INPUT);
}
void off(){
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
void zero(){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
}
void one(){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
void two(){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
void three(){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
}
void four(){
digitalWrite(a,HIGH);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
void five(){
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
void six(){
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
void seven(){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
}
void eight(){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
void nine(){
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}
void loop() {
off();
main:
s1State=digitalRead(upButton);
s2State=digitalRead(downButton);
if(s1State==0){
goto a;
}else if(s2State == 0){
goto b;
}
goto main;
a:
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
while (s1State==0){
zero();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
one();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
two();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
three();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
four();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
five();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
six();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
seven();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
eight();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
nine();
for(int counter=0; counter<=500;counter++){
s2State=digitalRead(downButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s2State==1){
off();
goto main;
}else if(s3State==1 && s2State==0){
goto b;
}
delay(1);
}
}
b:
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
while(s3State == 0){
off();
goto main;
}
while (s2State==0){
nine();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
eight();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
seven();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
six();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
five();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
four();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
three();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
two();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
one();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
zero();
for(int counter=0; counter<=500;counter++){
s1State=digitalRead(upButton);
s3State=digitalRead(stopButton);
if(s3State==0 && s1State==1){
off();
goto main;
}else if(s3State==1 && s1State==0){
goto a;
}
delay(1);
}
}
}