Olá, estou quebrando a cabeça em um código que para mim ta difícil pra caramba,
quem puder ajudar agradeço e muito.
Ai vai, quero precionar um botão 4 vezes para que um led acenda e apague depois de
500ms.

Exibições: 317

Responder esta

Respostas a este tópico

int ligar; //contador de vezes que o botão foi pressionado

if(botão_pressionado) { // se btn pressionado soma +1 ao ligar

ligar += 1;

}

if(ligar == 4) { // se o ligra chegar a 4...

digitalWrite(Led, HIGH); //acende LED

delay(500); // Espera meio segundo;

digitalWrite(Led, LOW); //apaga LED

ligar = 0; // Zera o contador

}

tenho que declarar a variaveal botão_pressionado e colocar qual valor?

Boa noite! Ta ai o codigo que tava procurando, quem procura acha , voce tem que mudar o 4 do ( if(ligar == 4) { // se o ligra chegar a 4...) o 4 e o numero de vezes que voce aperta.

Oi boa noite! Obrigado, mas não tou conseguindo implementar em meu código

JÁ EMPLEMENTEI E NÃO CONSEGUIR CONSEGUEM VER ALGO ERRADO?

int ligar;
int state = digitalRead(button);
if(state == HIGH) {
ligar += 1;
}
if(ligar == 6){

digitalWrite(carGreen, LOW);
digitalWrite(carYellow, HIGH);
delay(2000);
digitalWrite(carYellow, LOW);
digitalWrite(carRed, HIGH);
delay(1000);
digitalWrite(pedRed, LOW);
digitalWrite(pedGreen, HIGH);
delay(crossTime);

for (int x=0; x<10; x++) { //Faz o Led Verde do Pedestre piscar 9 vezes.

digitalWrite(pedGreen, HIGH);//Acender Led Verde
delay(250);
digitalWrite(pedGreen, LOW);//Apagar Led Verde
delay(250);
}

digitalWrite(pedRed, HIGH);
delay(500);
digitalWrite(carYellow, HIGH);
digitalWrite(carRed, LOW);
delay(1000);
digitalWrite(carGreen, HIGH);
digitalWrite(carYellow, LOW);
ligar=0;
}//faz a parte da execução

}

Esse código não confere se o usuário pressionou o botão quatro vezes em um determinado prazo de tempo. Ou seja, ele pode pressionar 1 vez, esperar meia hora pressionar de novo. No outro dia pressionar mais uma vez e uma semana depois pressionar de novo e ai o LED vai acender. Você pode criar um evento para que ao pressionar o botão pela primeira vez o usuário tenha que pressionar as outras 3 vezes dentro de 5 segundos por exemplo, caso contrário o contador seja zerado. Isso fica a seu critério! Boa sorte!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço