Go Down

Topic: duvida com botão(sou novo no forum) (Read 718 times) previous topic - next topic

Phvbrito

pessoal estou com um problema no acionamento do botão... O código possue um contador onde só acrescenta +1 quando o botão é pressionado, mais ele esta incrementando tambem quando solto o botão. e este é meu problema. como corrigir isso?

Code: [Select]
unsigned long tmp_alt = millis();

  if (digitalRead(bt) == HIGH) {
   
    if (tmp_alt - ult_tempo <= tmp_acionado) {
     
      contador++;
     
      ult_tempo = tmp_alt;
      delay(500);
      Serial.println(contador);
     
    }

    if (tmp_alt - ult_tempo >= tmp_acionado) {
      contador = 0;
      tmpcon = 1;
      ult_tempo = tmp_alt;
    }
  }
 

ardly

#1
Mar 14, 2020, 10:03 pm Last Edit: Mar 14, 2020, 10:04 pm by ardly
Se você postar aqui, deverá postar em inglês. Há uma parte de Portuges no site. 
Veja as suas declarações IF.
https://forum.arduino.cc/index.php?board=35.0



"Facts do not cease to exist because they are ignored" - Aldous Huxley

Phvbrito

Desculpe minha ignorância... Devo postar a pergunta em inglês ? E referente ao código, também não consegui entender qual o erro... A lógica que pensei foi. Ele aciona com quando a variável contador chega a 3, mais ela só pode ser incrementada se o botão for pressiona três vezes dentro de 2 segundos, se o mesmo for pressionando uma ou duas vezes e passar de 2 segundos antes de ser pressionando pela terceira vez ele zera a variável. O problema e que quando pressiono o botão ele conta 1 e quando solto ele conta mais um. Deveria contar somente uma vez. Não consigo entender onde estou errando

Go Up