1
resposta

nao esta lendo o botao

meu codigo nao parece estar errado, mas estou fazendo pelo tinkercad pois o app que ele indicou é pago, teria talvez algo haver com o app? no monitor serial, aparece 0, entao liguei o positivo depois do botao no circuito, para que quando apertasse o botao, o gnd puxasse a corrente e aparecesse 0 entao, mas ele fica 1, mesmo depois de apertar o botao. vou mandar o codigo.

obs: como nao tinha todos os componentes, e o tinkercad tem como testar o circuito, estou fazendo pelo site mesmo

// C++ code
//

#define LED_VERDE 2
#define LED_AMARELO 3
#define LED_VERMELHO 4
#define LED_AZUL 5

#define BOT_VERDE 13
#define BOT_AMARELO 12
#define BOT_VERMELHO 11
#define BOT_AZUL 10

#define TAMANHO 4

int sequenciaLuzes[TAMANHO];

void setup()
{
  Serial.begin(9600);
  iniciar();
  iniciarJogo();
}

void iniciarJogo(){
  sequenciaLuzes[0] = LED_AZUL;
  sequenciaLuzes[1] = LED_VERMELHO;
  sequenciaLuzes[2] = LED_VERDE;
  sequenciaLuzes[3] = LED_AMARELO;
}

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

  pinMode(BOT_VERDE, INPUT_PULLUP);
  pinMode(BOT_AMARELO, INPUT_PULLUP);
  pinMode(BOT_VERMELHO, INPUT_PULLUP);
  pinMode(BOT_AZUL, INPUT_PULLUP);
}

void loop(){
  for(int indice = 0; indice < TAMANHO; indice++ ){
  piscaled(sequenciaLuzes[indice]);
  }
  int estado = digitalRead(BOT_VERDE);
  Serial.println(estado);
}

void seq2(){
  digitalWrite(LED_VERDE, 1);
  digitalWrite(LED_AMARELO, 1);
  digitalWrite(LED_VERMELHO, 1);
  digitalWrite(LED_AZUL, 1);
  delay(1000);
  digitalWrite(LED_VERDE, 0);
  digitalWrite(LED_AMARELO, 0);
  digitalWrite(LED_VERMELHO, 0);
  digitalWrite(LED_AZUL, 0);
  delay(500);
}

void seq1(){
 piscaled(LED_VERDE);
 piscaled(LED_AMARELO);
 piscaled(LED_VERMELHO);
 piscaled(LED_AZUL);
 delay(500);
}

void piscaled(int portaled)
{ 
  digitalWrite(portaled, HIGH);
  delay(500); 
  digitalWrite(portaled, LOW);
  delay(500);
}

Nao terminei a aula pois ja nao estava funcionando nos primeiros testes..

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá

Pelo que estou vendo o pino 13 está ligado diretamente ao VCC, +5V, via protoboard. Assim ele nunca vai para LOW, além de gerar um risco sério de danificar o circuíto caso a chave referente ao led verde seja acionada, pois irá gerar um curto-circuito.

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