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..