const int LED_BUILTIN = 2; // Pino do LED externo no GPIO 2
const int buttonPin = 12; // Pino onde o botão está conectado
volatile bool ledState = LOW; // Variável volátil para armazenar o estado do LED
void IRAM_ATTR handleButtonPress() {
// Alterna o estado do LED
ledState = !ledState;
}
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Configura o LED no GPIO 2 como saída
pinMode(buttonPin, INPUT_PULLDOWN); // Configura o pino do botão como entrada com pull-down interno
// Anexa uma interrupção ao botão
attachInterrupt(digitalPinToInterrupt(buttonPin), handleButtonPress, RISING);
}
void loop() {
// Atualiza o estado do LED de acordo com a variável ledState
digitalWrite(LED_BUILTIN, ledState);
}