/********* Pleasedontcode.com **********
Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- Terms and Conditions:
You have a non-exclusive, revocable, worldwide, royalty-free license
for personal and commercial use. Attribution is optional; modifications
are allowed, but you're responsible for code maintenance. We're not
liable for any loss or damage. For full terms,
please visit pleasedontcode.com/termsandconditions.
- Project: LED Control
- Source Code NOT compiled for: ESP32 DevKit V1
- Source Code created on: 2024-09-14 16:50:18
********* Pleasedontcode.com **********/
/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
/* Implement a simple LED control system using a push */
/* button connected to digital pin D4, utilizing the */
/* EasyButton library for debouncing and state */
/* management. The system should toggle the LED state */
/* on button press. */
/****** END SYSTEM REQUIREMENTS *****/
/****** DEFINITION OF LIBRARIES *****/
#include // https://github.com/evert-arias/EasyButton
/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);
/***** DEFINITION OF DIGITAL INPUT PINS *****/
const uint8_t Switch_PushButton_PIN_D4 = 4; // Pin for the push button
const uint8_t LED_PIN = 2; // Pin for the LED
/****** DEFINITION OF LIBRARIES CLASS INSTANCES *****/
// Create an instance of the EasyButton class for the push button
// The constructor takes the pin number as an argument
EasyButton button(Switch_PushButton_PIN_D4);
/****** CALLBACK FUNCTION PROTOTYPES *****/
// Function to be called when the button is pressed
void onPressed(void);
/****** SETUP FUNCTION *****/
void setup(void)
{
// Initialize Serial for debugging purposes
Serial.begin(115200);
Serial.println();
Serial.println(">>> EasyButton LED Control Example <<<");
// Initialize the button
button.begin();
// Initialize the LED pin as output
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW); // Start with LED off
// Add the callback function to be called when the button is pressed
button.onPressed(onPressed);
}
/****** LOOP FUNCTION *****/
void loop(void)
{
// Continuously read the status of the button
button.read();
}
/****** CALLBACK FUNCTION IMPLEMENTATION *****/
// Function that gets called when the button is pressed
void onPressed(void)
{
// Toggle the LED state
static bool ledState = LOW; // Variable to hold the current state of the LED
ledState = !ledState; // Toggle the state
digitalWrite(LED_PIN, ledState); // Update the LED state
Serial.println(ledState ? "LED is ON" : "LED is OFF"); // Print the current state
}
/* END CODE */