1
resposta

Achando o erro - Atividade 7

Olá! Tudo bem, instrutor?

Abaixo segue o código da atividade para correção.

#define LED_VERDE 2
#define LED_AMARELO 3
#define LED_VERMELHO 4
#define LED_AZUL 5
#define TAMANHO_SEQUENCIA 4
#define UM_SEGUNDO 1000
#define MEIO_SEGUNDO 500

int sequenciaLuzes[TAMANHO_SEQUENCIA];

void setup(){
  Serial.begin(9600);  
  iniciaPortas();
  iniciaJogo();  
}

void loop(){
  for (int i = 0; i < TAMANHO_SEQUENCIA; i++) {
    piscaLed(sequenciaLuzes[i]);
  }
}

void iniciaJogo() {
  
  int game = analogRead(0);
  randomSeed(game); //Mudando a semente utilizada ao iniciar o circuito. Assim, possibilitando aleatoriedades na sequência de acendimentos.
  
  for (int i = 0; i < TAMANHO_SEQUENCIA; i++) {
    sequenciaLuzes[i] = sorteiaCor();
  }
}


int sorteiaCor() {
  return random(LED_VERDE, LED_AZUL + 1); //Intervalo com cardinalidade em zero. Assim, o valor máximo sempre será n - 1.
} 

void iniciaPortas() {
  pinMode(LED_VERDE, OUTPUT);
  pinMode(LED_AMARELO, OUTPUT);
  pinMode(LED_VERMELHO, OUTPUT);
  pinMode(LED_AZUL, OUTPUT);
}

void piscaLed(int portaLed) {

  digitalWrite(portaLed,HIGH);
  delay(UM_SEGUNDO);
  digitalWrite(portaLed,LOW);
  delay(MEIO_SEGUNDO);  
}
1 resposta

Oi Paulo, tudo bem?

Parabéns por concluir a atividade, ela é super importante para você fixar bem o que viu nas aulas! E muito obrigada por compartilhar com a gente!

Continue firme nos estudos.

Um abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software