// Define os pinos para o botão e o LED
const int botaoPin = 53; // Use o pino 53 para PB1 no Arduino Mega
const int ledPin = 52; // Use o pino 52 para PB0 no Arduino Mega
// Variáveis para rastrear o estado do botão e os pulsos
int estadoBotaoAnterior = LOW;
int contagemPulsos = 0;
void setup() {
// Configura o botão como entrada
pinMode(botaoPin, INPUT);
// Configura o LED como saída
pinMode(ledPin, OUTPUT);
}
void loop() {
// Lê o estado atual do botão
int estadoBotao = digitalRead(botaoPin);
// Verifica se houve uma transição de LOW para HIGH (botão pressionado)
if (estadoBotao == HIGH && estadoBotaoAnterior == LOW) {
contagemPulsos++; // Incrementa a contagem de pulsos
}
// Verifica se atingimos três pulsos
if (contagemPulsos >= 3) {
// Inverte o estado do LED
digitalWrite(ledPin, !digitalRead(ledPin));
contagemPulsos = 0; // Reinicia a contagem de pulsos
}
// Atualiza o estado anterior do botão
estadoBotaoAnterior = estadoBotao;
}