#include <OneButton.h>
// Define the pin for the button
const int buttonPin = 4;
const int LED1Pin = 2;
const int LED2Pin = 7;
const int LED3Pin = 8;
// Create a OneButton object
OneButton button(buttonPin, true);
void setup() {
// Initialize serial communication
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(4, HIGH);
delay(2000);
digitalWrite(4, LOW);
// button.setDebounceMs(50); // debounce time 80 ms
// button.setClickMs(800); // time judgement 1 second
// Attach functions to button events
button.attachClick(singleClick);
button.attachDoubleClick(doubleClick);
button.attachLongPressStart(longPress);
}
void loop() {
// Continuously check the button state
button.tick();
}
// Function to be called on single click
void singleClick() {
Serial.println("Single click detected");
digitalWrite(2, HIGH);
delay(2000);
digitalWrite(2, LOW);
}
// Function to be called on double click
void doubleClick() {
Serial.println("Double click detected");
digitalWrite(7, HIGH);
delay(2000);
digitalWrite(7, LOW);
}
// Function to be called on long press
void longPress() {
Serial.println("Long press detected");
digitalWrite(8, HIGH);
delay(2000);
digitalWrite(8, LOW);
}