JecarDatha Electronics ARDUINO MEGA 2560 | Page 61

void leeSecuencia(){

int flag = 0;

for(int i = 0; i < nivelActual; i++){

flag = 0;

while(flag == 0){

if(digitalRead(PUL_VERDE) == LOW){

digitalWrite(LEDS_VERDE, HIGH);

SecuenciaLeida[i] = LEDS_VERDE;

flag = 1;

delay(400);

if(SecuenciaLeida[i] != secuencia[i]){

secuenciaError();

return;

}

digitalWrite(LEDS_VERDE, LOW);

}

if(digitalRead(PUL_ROJO) == LOW){

digitalWrite(LEDS_ROJO, HIGH);

SecuenciaLeida[i] = LEDS_ROJO;

flag = 1;

delay(400);

if(SecuenciaLeida[i] != secuencia[i]){

secuenciaError();

return;

}

digitalWrite(LEDS_ROJO, LOW);

}

if(digitalRead(PUL_AZUL) == LOW){

digitalWrite(LEDS_AZUL, HIGH);

SecuenciaLeida[i] = LEDS_AZUL;

flag = 1;

delay(400);

if(SecuenciaLeida[i] != secuencia[i]){

secuenciaError();

return;

}

digitalWrite(LEDS_AZUL, LOW);

}

if(digitalRead(PUL_AMARILLO) == LOW){

digitalWrite(LEDS_AMARILLO, HIGH);

SecuenciaLeida[i] = LEDS_AMARILLO;

flag = 1;

delay(400);

if(SecuenciaLeida[i] != secuencia[i]){

secuenciaError();

return;

}

digitalWrite(LEDS_AMARILLO, LOW);

}

}

}

secuenciaCorrecta();

}

void generaSecuencia(){

randomSeed(analogRead(5)); // randomSeed(millis());

for(int i = 0; i < MaximiNivel; i++){

secuencia[i] = random(2,6);

}

}

void TonoError(){

for(int i = 0; i < 4; i++){

digitalWrite(BUZZER, HIGH);

delay(150);

digitalWrite(BUZZER, LOW);

delay(50);

}

}