int current=0;
int action=1;
void setup() {
// put your setup code here, to run once:
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(21, OUTPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(12, INPUT_PULLUP);
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(17, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
digitalWrite(21, HIGH);
digitalWrite(22, HIGH);
digitalWrite(23, HIGH);
}
void loop() {
if(digitalRead(12)==true){
action=1;
}
else{
action=-1;
}
// put your main code here, to run repeatedly:
switch(current){
case 0:
cero();
if(action>0){current=current+action;}
break;
case 1:
uno();
current=current+action;
break;
case 2:
dos();
current=current+action;
break;
case 3:
tres();
current=current+action;
break;
case 4:
cuatro();
current=current+action;
break;
case 5:
cinco();
current=current+action;
break;
case 6:
seis();
current=current+action;
break;
case 7:
siete();
current=current+action;
break;
case 8:
ocho();
current=current+action;
break;
case 9:
nueve();
if(action<0){current=current+action;}
break;
}
delay(500);
}
void cero(){
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, HIGH);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
void uno(){
digitalWrite(3, HIGH);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
digitalWrite(21, HIGH);
digitalWrite(22, HIGH);
digitalWrite(23, LOW);
}
void dos(){
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
void tres(){
digitalWrite(3, HIGH);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, HIGH);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
void cuatro(){
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
digitalWrite(21, LOW);
digitalWrite(22, HIGH);
digitalWrite(23, LOW);
}
void cinco(){
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, HIGH);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, HIGH);
}
void seis(){
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, HIGH);
}
void siete(){
digitalWrite(3, HIGH);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
digitalWrite(21, HIGH);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
void ocho(){
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}
void nueve(){
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(17, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, HIGH);
digitalWrite(21, LOW);
digitalWrite(22, LOW);
digitalWrite(23, LOW);
}