#define LED_VERDE 2
#define LED_AMARELO 3
#define LED_VERMELHO 4
#define LED_AZUL 5
#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 setup() {
Serial.begin(9600);
iniciaportas();
iniciajogo();
}
void iniciajogo() {
sequencialuzes[0] = LED_AZUL;
sequencialuzes[1] = LED_VERDE;
sequencialuzes[2] = LED_VERMELHO;
sequencialuzes[3] = LED_AMARELO;
}
void iniciaportas(){
pinMode(LED_VERDE,OUTPUT);
pinMode(LED_AMARELO,OUTPUT);
pinMode(LED_VERMELHO,OUTPUT);
pinMode(LED_AZUL,OUTPUT);
pinMode(BOTAO_VERDE, INPUT_PULLUP);
pinMode(BOTAO_AMARELO, INPUT_PULLUP);
pinMode(BOTAO_VERMELHO, INPUT_PULLUP);
pinMode(BOTAO_AZUL, INPUT_PULLUP);
}
void loop() {
for(int indice = 0; indice < TAMANHO_SEQUENCIA; indice++) {
piscaled(sequencialuzes[indice]);
}
int estado = digitalRead(BOTAO_VERDE);
Serial.println(estado);
}
void piscaled (int portaLed) {
digitalWrite(portaLed,HIGH);
delay(MEIO_SEGUNDO);
digitalWrite(portaLed,LOW);
delay(MEIO_SEGUNDO);
}
void piscasequencia1() {
piscaled(LED_VERDE);
piscaled(LED_AMARELO);
piscaled(LED_VERMELHO);
piscaled(LED_AZUL);
delay(MEIO_SEGUNDO);
}
void piscasequencia2(){
digitalWrite(LED_VERDE, HIGH);
digitalWrite(LED_AMARELO, HIGH);
digitalWrite(LED_VERMELHO, HIGH);
digitalWrite(LED_AZUL, HIGH);
delay(UM_SEGUNDO);
digitalWrite(LED_VERDE, LOW);
digitalWrite(LED_AMARELO, LOW);
digitalWrite(LED_VERMELHO, LOW);
digitalWrite(LED_AZUL, LOW);
delay(MEIO_SEGUNDO);
}