I don´t get what´s the error :c
//*******************************************************************************
//SEMAFORO
//boton semaforo
#define bInicio 13 //34
//leds semaforo
#define ledR //14
#define ledA //12
#define ledV 2 //13
//contador jugador 1
//boton cont1 naranja
#define bCont1 1
//leds cont1
#define cont1A 5
#define cont1B 6
#define cont1C 7
#define cont1D 8
//ganador
#define GanaW1 3
//contador jugador 2
//boton cont2
#define bCont2 0
//leds cont2
#define cont2A 9
#define cont2B 10
#define cont2C 11
#define cont2D 12
//ganador
#define GanaW2 4
//Especificaciones Iniciales
int Contador1 = 0;
int Contador2 = 0;
// Prototipos de funciones
void Semaforo(void);
void Jugador1(void);
void Jugador2(void);
//*******************************************************************************
//Configuracion
//*******************************************************************************
//SEMAFORO
void setup() {
Serial.begin(9600);
//Entrada del boton de inicio
pinMode(bInicio,INPUT_PULLUP);
//Salida para el semaforo
pinMode(ledR,OUTPUT);
pinMode(ledA,OUTPUT);
pinMode(ledV, OUTPUT);
//CONTADOR 1
//Entrada del boton de inicio
pinMode(bCont1, INPUT);
//Salida para el contador
pinMode(cont1A, OUTPUT);
pinMode(cont1B,OUTPUT);
pinMode(cont1C, OUTPUT);
pinMode(cont1D, OUTPUT);
//ganador cont1
pinMode(GanaW1, OUTPUT);
//CONTADOR 2
//Entrada del boton de inicio
pinMode(bCont2,INPUT);
//Salida para el contador
pinMode(cont2A, OUTPUT);
pinMode(cont2B,OUTPUT);
pinMode(cont2C, OUTPUT);
pinMode(cont2D, OUTPUT);
//ganador cont2
pinMode(GanaW2, OUTPUT);
//Condiciones Iniciales
//SEMAFORO
digitalWrite(ledR,LOW);
digitalWrite(ledA,LOW);
digitalWrite(ledV,LOW);
//CONTADOR 1
digitalWrite(cont1A,LOW);
digitalWrite(cont1B,LOW);
digitalWrite(cont1C,LOW);
digitalWrite(cont1D,LOW);
digitalWrite(GanaW1, LOW);
//CONTADOR 2
digitalWrite(cont2A,LOW);
digitalWrite(cont2B,LOW);
digitalWrite(cont2C,LOW);
digitalWrite(cont2D,LOW);
digitalWrite(GanaW2, LOW);
}
//*******************************************************************************
// Loop Principal
//*******************************************************************************
//para el semaforo
void loop() {
if(digitalRead(bInicio) == 0){
Semaforo();
}
if(digitalRead(ledV) == HIGH){
Jugador1();
Jugador2();
}
}
//*******************************************************************************
//Funcion de secuencia de semaforo
//*******************************************************************************
void Semaforo(void){
digitalWrite(ledR, HIGH); //led rojo se enciende, los demas se apagan
digitalWrite(ledA,LOW);
digitalWrite(ledV,LOW);
delay(1000);
digitalWrite(ledR,LOW);
digitalWrite(ledA,HIGH); //led amarillo se enciende, los demas se apagan
digitalWrite(ledV,LOW);
delay(1000);
digitalWrite(ledR,LOW);
digitalWrite(ledA,LOW);
digitalWrite(ledV,HIGH); //led verde se enciende, los demas se apagan
}
//*******************************************************************************
//Funcion de contador jugador 1
//*******************************************************************************
void Jugador1(void){
if (digitalRead(bCont1)== HIGH ){
Contador1++ ;
delay(650);
}
//cuando el contador llegue a 4, se resetea a 0
else if(Contador1 >=5){
Contador1 = 0;
}
//mantener los valores iniciales si no se presiona el switch
else{
Contador1 = Contador1;
}
//Al igual que el semaforo, tengo que declarar cada posible salida del switch cuando se presiona del 1 al 4
switch (Contador1){
case 1:
digitalWrite(cont1A, HIGH);
digitalWrite(cont1B, LOW);
digitalWrite(cont1C, LOW);
digitalWrite(cont1D, LOW);
break;
case 2:
digitalWrite(cont1A, LOW);
digitalWrite(cont1B, HIGH);
digitalWrite(cont1C, LOW);
digitalWrite(cont1D, LOW);
break;
case 3:
digitalWrite(cont1A, LOW);
digitalWrite(cont1B, LOW);
digitalWrite(cont1C, HIGH);
digitalWrite(cont1D, LOW);
break;
case 4:
digitalWrite(cont1A, LOW);
digitalWrite(cont1B, LOW);
digitalWrite(cont1C, LOW);
digitalWrite(cont1D, HIGH);
break;
//si no se presiona nada de lo mencionado con anterioridad, apagar leds
default:
digitalWrite(cont1A, LOW);
digitalWrite(cont1B, LOW);
digitalWrite(cont1C, LOW);
digitalWrite(cont1D, LOW);
break;
}
}
//*******************************************************************************
//Funcion de contador jugador 2
//*******************************************************************************
void Jugador2(void){
if (digitalRead(bCont2)== HIGH ){
Contador2++ ;
delay(650);
}
//cuando el contador llegue a 4, se resetea a 0
else if(Contador2 >=5){
Contador2 = 0;
}
//mantener los valores iniciales si no se presiona el switch
else{
Contador2 = Contador2;
}
//Al igual que el semaforo, tengo que declarar cada posible salida del switch cuando se presiona del 1 al 4
switch (Contador2){
case 1:
digitalWrite(cont2A, HIGH);
digitalWrite(cont2B, LOW);
digitalWrite(cont2C, LOW);
digitalWrite(cont2D, LOW);
break;
case 2:
digitalWrite(cont2A, LOW);
digitalWrite(cont2B, HIGH);
digitalWrite(cont2C, LOW);
digitalWrite(cont2D, LOW);
break;
case 3:
digitalWrite(cont2A, LOW);
digitalWrite(cont2B, LOW);
digitalWrite(cont2C, HIGH);
digitalWrite(cont2D, LOW);
break;
case 4:
digitalWrite(cont2A, LOW);
digitalWrite(cont2B, LOW);
digitalWrite(cont2C, LOW);
digitalWrite(cont2D, HIGH);
break;
//si no se presiona nada de lo mencionado con anterioridad, apagar leds
default:
digitalWrite(cont2A, LOW);
digitalWrite(cont2B, LOW);
digitalWrite(cont2C, LOW);
digitalWrite(cont2D, LOW);
break;
}
}