caros amigos, preciso fazer acender o LED após 4 pulsos no botão e se continuar os pulsos o LED continua aceso se após 5 segundos sem pulsos o LED apaga. Alguém poderia me ajudar? Achei um código que talvez poderia ser como base mas não funcionou.

// Colocar os botões e os led nos pinos indicados

int Button1 = 6;

int led1 = 7;


int contacendled = 0;

unsigned long intervalo = 0;

void setup() {
pinMode(Button1, INPUT);

pinMode(led1, OUTPUT);

}

void loop() {

// se o botão 1 é precionado ele soma mais um a variavel contaacendled
if(digitalRead(Button1)==1 ){
contacendled++;
delay(100);
intervalo = millis();}

// se passar mais que 5 segundos entre os pressionar de botao, ele volta a zero e precisa pressionar 4 vezes de novo
if(millis() > intervalo+5000){
contacendled = 0;
}

// se a variavel contacendled chegar a 4 o que dizer que o botão 1 foi pressionado 4 vezes ele acende o led 1
if(contacendled == 4){
digitalWrite(led1, HIGH);

contacendled=0;
}


}

// alguem poderia me ajudar a ajustar para funcionar?

Exibições: 137

Responder esta

Respostas a este tópico

Olá Tiago, 

Sim, entendi a questão do contatos do botão, obrigado pela dica.

Obrigado também pela dica da aula - fun-o- millis, já dei uma lida  e achei muito interessante, passarei a usar o millis.

obrigado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço