#define rojo1 A2
#define amarillo2 A1
#define verde3 A0
#define verde4 2
#define verde5 3
#define amarillo6 4
#define rojo7 5
int BOTON_IZQ;
int BOTON_DER;
int aux=3, vel=400;
int direccion_der=1;
int direccion_izq=0;
void setup() {
pinMode(rojo1,OUTPUT);
pinMode(amarillo2,OUTPUT);
pinMode(verde3,OUTPUT);
pinMode(verde4,OUTPUT);
pinMode(verde5,OUTPUT);
pinMode(amarillo6,OUTPUT);
pinMode(rojo7,OUTPUT);
pinMode(A5, INPUT);
pinMode(A4, INPUT);
}
void loop() {
BOTON_IZQ=digitalRead(A5);
BOTON_DER=digitalRead(A4);
if (aux==2 && BOTON_IZQ==1){
aux++;
direccion_der=1;
direccion_izq=0;
PELOTA();
vel=vel-50;
}
else if (aux==6 && BOTON_DER==1){
aux--;
direccion_der=0;
direccion_izq=1;
PELOTA();
}
else if (direccion_der==1){
aux++;
PELOTA();
}
else if (direccion_izq==1){
aux--;
PELOTA();
}
delay(vel);
}
void PELOTA(){
switch (aux){
case 1: //PIERDES EL JUEGO
digitalWrite(rojo1,HIGH);
digitalWrite(amarillo2,LOW);
break;
case 2: //AMARILLO IZQ.
digitalWrite(rojo1,LOW);
digitalWrite(amarillo2,HIGH);
digitalWrite(verde3,LOW);
break;
case 3:
digitalWrite(amarillo2,LOW);
digitalWrite(verde3,HIGH);
digitalWrite(verde4,LOW);
break;
case 4:
digitalWrite(verde3, LOW);
digitalWrite(verde4, HIGH);
digitalWrite(verde5, LOW);
break;
case 5:
digitalWrite(verde4, LOW);
digitalWrite(verde5, HIGH);
digitalWrite(amarillo6, LOW);
break;
case 6: //AMARILLO DER.
digitalWrite(verde5, LOW);
digitalWrite(amarillo6, HIGH);
digitalWrite(rojo7, LOW);
break;
case 7: //PIERDES EL JUEGO
digitalWrite(rojo7, HIGH);
digitalWrite(amarillo6, LOW);
break;
default:
digitalWrite(rojo7, HIGH);
digitalWrite(rojo1, HIGH);
break;
}
}