Programación
#define Rojo 2
#define Verde 3
#define Amarillo 4
#define Azul 5
#define Campana 6
#define In_Rojo 9
#define In_Verde 10
#define In_Amarillo 11
#define In_Azul 12
int i;
int nivelActual = 4;
int velocidad = 500;
const int MaximiNivel = 8;
int secuencia[MaximiNivel];
int SecuenciaLeida[MaximiNivel];
void setup(){
pinMode(Amarillo, OUTPUT);
pinMode(Azul, OUTPUT);
pinMode(Rojo, OUTPUT);
pinMode(Verde, OUTPUT);
pinMode(Campana, OUTPUT);
inicio();
}
void loop(){
if(nivelActual == 4){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 4){
muestraSecuencia();
leeSecuencia();
}
}
void inicio(){
for (i = 1; i <= 12; i++) {
digitalWrite(Verde , HIGH);
digitalWrite(Amarillo , HIGH);
digitalWrite(Azul , HIGH);
digitalWrite(Rojo , HIGH);
delay(100);
}
}
void imp_unidad(int n){
for(int x=1;x<=n;x++){
digitalWrite(Verde , 1);
digitalWrite(Amarillo, 1);
digitalWrite(Azul, 1);
digitalWrite(Rojo , 1);
delay(800);
apagados();
delay(300);
}
}
void imp_residuo(int n){
apagados();
if (n==1){
digitalWrite(Verde , 1);
}
if (n==2){
digitalWrite(Verde , 1);
digitalWrite(Amarillo, 1);
}
if (n==3){
digitalWrite(Verde , 1);
digitalWrite(Amarillo, 1);
digitalWrite(Azul, 1);
}
delay(800);
apagados();
delay(300);
}