Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* 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: Button Control
- - Source Code NOT compiled for: Arduino Uno
- - Source Code created on: 2024-10-02 08:44:36
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* Arduino library for debouncing momentary contact */
- /* switches, detect press, release, long press and */
- /* sequences with event definitions and callbacks. */
- /****** END SYSTEM REQUIREMENTS *****/
- /****** DEFINITION OF LIBRARIES *****/
- #include <EasyButton.h> // https://github.com/evert-arias/EasyButton
- #include <EasyButtonBase.h> // Include EasyButtonBase library
- #include <EasyButtonTouch.h> // Include EasyButtonTouch library
- #include <EasyButtonVirtual.h> // Include EasyButtonVirtual library
- #include <Sequence.h> // Include Sequence library
- /****** FUNCTION PROTOTYPES *****/
- void setup(void);
- void loop(void);
- /***** DEFINITION OF DIGITAL INPUT PINS *****/
- const uint8_t elkewk_PushButton_PIN_D2 = 2;
- const uint8_t elkewk_TouchButton_PIN_D3 = 3; // Example pin for touch button
- const uint8_t elkewk_VirtualButton_PIN_D4 = 4; // Example pin for virtual button
- /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
- // Initialize EasyButton object for the defined pin
- EasyButton button1(elkewk_PushButton_PIN_D2);
- EasyButtonTouch touchButton(elkewk_TouchButton_PIN_D3); // Initialize EasyButtonTouch object
- EasyButtonVirtual virtualButton(button1.read(), true); // Initialize EasyButtonVirtual object
- // Initialize a Sequence object (example usage)
- Sequence buttonSequence(3, 1000); // Example for 3 sequences with a duration of 1000 ms
- /****** FUNCTION DEFINITIONS *****/
- void onButton1Pressed() {
- Serial.println("Button1 pressed"); // Callback function for button press
- }
- void onTouchButtonPressed() {
- Serial.println("Touch button pressed"); // Callback function for touch button press
- }
- void onVirtualButtonPressed() {
- Serial.println("Virtual button pressed"); // Callback function for virtual button press
- }
- void setup(void)
- {
- // Start serial communication for debugging
- Serial.begin(115200);
- // Print a message to the serial monitor
- Serial.println();
- Serial.println(">>> EasyButton example <<<");
- // Initialize the buttons
- button1.begin();
- touchButton.begin(); // Initialize touch button
- virtualButton.begin(); // Initialize virtual button
- button1.onPressed(onButton1Pressed); // Set the callback for button press
- touchButton.onPressed(onTouchButtonPressed); // Set the callback for touch button press
- virtualButton.onPressed(onVirtualButtonPressed); // Set the callback for virtual button press
- // Set the pin mode for the button (not necessary for EasyButton, but kept for reference)
- pinMode(elkewk_PushButton_PIN_D2, INPUT_PULLUP);
- pinMode(elkewk_TouchButton_PIN_D3, INPUT_PULLUP); // Set touch button pin mode
- pinMode(elkewk_VirtualButton_PIN_D4, INPUT_PULLUP); // Set virtual button pin mode
- }
- void loop(void)
- {
- // Read the button states
- button1.read(); // This checks the button state and triggers the callback if pressed
- touchButton._readPin(); // Read the touch button state
- virtualButton.read(); // Read the virtual button state
- }
- /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement