Alguém poderia me ajudar nesse código para eu fazer o botão funcionar, plis
#include <Bounce2.h>
const int buttonPin = 14;
Bounce debouncer = Bounce();
Bounce botao(buttonPin);
void setup() {
// Luzes do Semaforo ligadas aos pinos 12, 13, 05
pinMode(5, OUTPUT); // Vermelho
pinMode(13, OUTPUT); // Amarelo
pinMode(12, OUTPUT); // Verde
// Luzes do Semaforo do Pedestre ligadas aos pinos 10, 9
pinMode(18, OUTPUT); // Vermelho do Pedestre
pinMode(19, OUTPUT); // Verde do Pedestre
// Botao do Pedestre
pinMode(buttonPin, INPUT_PULLUP); // Botão do Pedestre para acionar a travessia
}
void loop() {
// Verde para os automoveis
digitalWrite(5, 0); // Verm
digitalWrite(13, 0); // Amar
digitalWrite(12, 1); // Verd
digitalWrite(18, 1); // Vermelho para o Pedestre
digitalWrite(19, 0); // Verde do Pedestre apagado
// Verificar se apertou o botao
int estadoBotao = buttonPin.read();
if (estadoBotao == 1)
{
// Amarelo para os automoveis
digitalWrite(5, 0);
digitalWrite(13, 1);
digitalWrite(12, 0);
delay(1000);
// Vermelho para os automoveis
digitalWrite(5, 1);
digitalWrite(13, 0);
digitalWrite(12, 0);
// Verde para os pedestres
digitalWrite(18, 0);
digitalWrite(19, 1);
delay(150000); // Aguardar o Pedestre atravessar
// Piscar o Vermelho do Pedestre 10 vezes
digitalWrite(19, 0);
for (int i=1; i<=10; i++ )
{
// Piscando Vermelho para o pedestre
digitalWrite(18, 1);
delay(100);
digitalWrite(18, 0);
delay(100);
}
}
}
Seu tópico foi transferido para o local atual, pois é mais adequado.
Você também poderia dedicar alguns momentos para [aprender a usar o fórum] (How to get the best out of this forum).
Isso ajudará você a tirar o melhor proveito do fórum no futuro.
Obrigado
Bem vindo ao forum.
Existiam uma série de erros do uso da biblioteca <Bounce2.h>.
E existiam erros de logica também.
Veja se é este código que vc precisa e veja as diferenças com o seu código para entender o uso da biblioteca.
#include <Bounce2.h>
const int buttonPin = 14;
Bounce debouncer = Bounce(); // <<< ------------------------
int estadoBotao; // <<< ------------------------
bool flag = false; // <<< ------------------------
//----------------------------------------------------------------
void setup() {
// Luzes do Semaforo ligadas aos pinos 12, 13, 05
debouncer.attach( buttonPin, INPUT_PULLUP ); // <<< ------------------------
debouncer.interval(5); // interval in ms // <<< ------------------------
pinMode(5, OUTPUT); // Vermelho
pinMode(13, OUTPUT); // Amarelo
pinMode(12, OUTPUT); // Verde
// Luzes do Semaforo do Pedestre ligadas aos pinos 10, 9
pinMode(18, OUTPUT); // Vermelho do Pedestre
pinMode(19, OUTPUT); // Verde do Pedestre
// Botao do Pedestre
//pinMode(buttonPin, INPUT_PULLUP); // Botão do Pedestre para acionar a travessia
}
//----------------------------------------------------------------
void loop() {
// Verde para os automoveis
debouncer.update(); // <<< ------------------------
digitalWrite(5, 0); // Verm
digitalWrite(13, 0); // Amar
digitalWrite(12, 1); // Verd
digitalWrite(18, 1); // Vermelho para o Pedestre
digitalWrite(19, 0); // Verde do Pedestre apagado
// Verificar se apertou o botao
estadoBotao = debouncer.read();
if ( debouncer.changed() ) // <<< ------------------------
if (estadoBotao == 0) // <<< ------------------------
{
flag = true; // <<< ------------------------
}
if (flag == true) // <<< ------------------------
{
// Amarelo para os automoveis
digitalWrite(5, 0);
digitalWrite(13, 1);
digitalWrite(12, 0);
delay(1000);
// Vermelho para os automoveis
digitalWrite(5, 1);
digitalWrite(13, 0);
digitalWrite(12, 0);
// Verde para os pedestres
digitalWrite(18, 0);
digitalWrite(19, 1);
delay(150000); // Aguardar o Pedestre atravessar
// Piscar o Vermelho do Pedestre 10 vezes
digitalWrite(19, 0);
for (int i = 1; i <= 10; i++ )
{
// Piscando Vermelho para o pedestre
digitalWrite(18, 1);
delay(100);
digitalWrite(18, 0);
delay(100);
}
flag = false; // <<< ------------------------
}
}
system
Closed
4
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.