#include <Wire.h> const int buttonPin = 26; const int ledPin = 27; bool buttonState = false; // Variable to hold the button state void setup() { // Initialize serial communication Serial.begin(9600); pinMode(ledPin, OUTPUT); // Set LED pin as output pinMode(buttonPin, INPUT_PULLUP); // Set button pin as input with internal pull-up resistor } void loop() { // the loop function runs over and over again forever bool currentButtonState = digitalRead(buttonPin) == LOW; // Button pressed when LOW if (currentButtonState != buttonState) { // Button has either been pressed or released since the last check if (currentButtonState) { // If currentButtonState is true (button pressed): digitalWrite(ledPin, HIGH); // The LED is turned ON by setting it HIGH Serial.println("Button pressed"); // A message "Button pressed" is sent to the serial monitor } else { // If currentButtonState is false (button released): digitalWrite(ledPin, LOW); // The LED is turned OFF by setting it LOW Serial.println("Button released"); // A message "Button released" is sent to the serial monitor } buttonState = currentButtonState; // Update button state } delay(50); // Short delay for button debounce }