const int botaoPin = 2; // Pino ao qual o botão está conectado
const int botaoLed = 13; // Pino ao qual o botão está conectado
int estadoBotaoAnterior = HIGH; // Inicializa o estado anterior como HIGH (não pressionado)
long int inicio, fim, result;
void setup() {
pinMode(botaoLed, OUTPUT);
pinMode(botaoPin, INPUT_PULLUP); // Configura o pino do botão como entrada com pull-up
Serial.begin(115200);
}
void loop() {
int estadoBotaoAtual = digitalRead(botaoPin);
// Debouncing
delay(1); // Ajuste o tempo de debouncing conforme necessário
if (estadoBotaoAtual != estadoBotaoAnterior) {
if (estadoBotaoAtual == LOW) {
//Serial.println("Botão pressionado");
// Execute uma ação quando o botão é pressionado
inicio = millis();
} else {
//Serial.println("Botão solto");
// Execute uma ação quando o botão é solto
fim = millis();
result = (fim - inicio)/500.0;
Serial.print("Result = ");
Serial.println(result);
}
estadoBotaoAnterior = estadoBotaoAtual;
}
if(!estadoBotaoAtual){
Serial.println((millis() - inicio)/500);
digitalWrite(botaoLed, ((millis() - inicio)/250)%2);
}
}