const int botaoPin = 2; // Substitua pelo número do pino do seu botão
unsigned long tempoInicio, tempoFinal;
boolean botaoPressionado = false;
int val;
void setup() {
pinMode(botaoPin, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
delay(3);
int estadoBotao = digitalRead(botaoPin);
static long int timer;
static bool trigger;
if(millis() - timer > 1000 && trigger){
timer = millis();
trigger = false;
val = 0;
Serial.println("RST");
}
if(!estadoBotao){
timer = millis();
trigger = true;
}
if (estadoBotao == LOW && !botaoPressionado) {
// Botão pressionado pela primeira vez
botaoPressionado = true;
tempoInicio = millis();
} else if (estadoBotao == HIGH && botaoPressionado) {
// Botão solto
botaoPressionado = false;
tempoFinal = millis();
unsigned long tempoTotal = tempoFinal - tempoInicio;
// Serial.print(tempoTotal);
// Serial.println(" milissegundos");
val++;
if(tempoTotal > 500){
if(val == 7){
change = false;
}
if(val == 8){
change = false;
}
Serial.print("val: ");
Serial.println(val);
val = 0;
}
}
}