#define LED_VERMELHO 2
#define LED_AMARELO 3
#define LED_VERDE 4
#define LED_AZUL 5
#define INDEFINIDO -1
#define BOTAO_VERDE 8
#define BOTAO_AMARELO 9
#define BOTAO_VERMELHO 10
#define BOTAO_AZUL 11
#define UM_SEGUNDO 1000
#define MEIO_SEGUNDO 500
#define TAMANHO_SEQUENCIA 4
int sequenciaLuzes[TAMANHO_SEQUENCIA];
void iniciaPortas(){ pinMode(LED_VERMELHO, OUTPUT); pinMode(LED_AMARELO, OUTPUT); pinMode(LED_VERDE, OUTPUT); pinMode(LED_AZUL, OUTPUT);
pinMode(BOTAO_VERMELHO,INPUT_PULLUP); pinMode(BOTAO_AMARELO,INPUT_PULLUP); pinMode(BOTAO_VERDE,INPUT_PULLUP); pinMode(BOTAO_AZUL,INPUT_PULLUP); }
void setup(){ iniciaPortas(); // iniciaJogo();
}
void iniciaJogo(){ sequenciaLuzes[0] = LED_AZUL; sequenciaLuzes[1] = LED_VERDE; sequenciaLuzes[2] = LED_VERMELHO; sequenciaLuzes[3] = LED_AMARELO;
}
void loop(){ /* for(int indice = 0; indice < TAMANHO_SEQUENCIA; indice++){ Pisca_LED(sequenciaLuzes[indice]); } */ int botaoPrecionado = checaRespostajogador(); int estadoVerde = digitalRead(BOTAO_VERDE);
Serial.println(checaRespostajogador());
} int checaRespostajogador(){ if(digitalRead(BOTAO_VERDE) == LOW){ return LED_VERDE; } if(digitalRead(BOTAO_AMARELO) == LOW){ return LED_AMARELO; } if(digitalRead(BOTAO_VERMELHO) == LOW){ return LED_VERMELHO; } if(digitalRead(BOTAO_AZUL) == LOW){ return LED_AZUL; }
return INDEFINIDO;
}
void piscatodos(){ digitalWrite(LED_VERMELHO, HIGH); digitalWrite(LED_AMARELO, HIGH); digitalWrite(LED_VERDE, HIGH); digitalWrite(LED_AZUL, HIGH); delay(UM_SEGUNDO); digitalWrite(LED_VERMELHO, LOW); digitalWrite(LED_AMARELO, LOW); digitalWrite(LED_VERDE, LOW); digitalWrite(LED_AZUL, LOW); delay(UM_SEGUNDO);
} /* void piscaSequencial(){ Pisca_LED(LED_VERMELHO); Pisca_LED(LED_AMARELO); Pisca_LED(LED_VERDE); Pisca_LED(LED_AZUL); delay(MEIO_SEGUNDO); }
void piscaSequencial2(){ Pisca_LED12(LED_VERMELHO); Pisca_LED12(LED_AMARELO); Pisca_LED12(LED_VERDE); Pisca_LED12(LED_AZUL); delay(MEIO_SEGUNDO); }
void Pisca_LED12(int portaled){ digitalWrite(portaled, HIGH); delay (UM_SEGUNDO); }
void Pisca_LED(int portaled){ digitalWrite(portaled, HIGH); delay(UM_SEGUNDO);
digitalWrite(portaled, LOW); delay(MEIO_SEGUNDO); */