3
respostas

quando eu compilo o código, ele vem uma sequência diferente do que está escrito, e também não lê o botão, alguém pode me ajudar?

#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);
  } 
3 respostas

Se a sequência dos LEDs que piscam é diferente da sequência dentro do código, provavelmente algum dos fios está ligando uma porta ao LED errado.

Recomendo checar novamente todas as conexões e certificar que elas estão corretas. Caso ainda reste alguma dúvida suba uma foto aqui e poste o link para que possamos avaliar as conexões.

sobre a sequência e a resposta do botão, eu arrumei, mas o led azul simplesmente não liga, os outros eu arrumei os problemas no hardware, ja chequei tudo mas ele (led azul) não liga.

Talvez esse LED tenha queimado, tente trocar por um que você saiba que está funcionando.

Se possível mande fotos da sua montagem

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