12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #include <Button.h>
- #include <ButtonEventCallback.h>
- #include <PushButton.h>
- #include <Bounce2.h>
- PushButton button = PushButton(5, ENABLE_INTERNAL_PULLUP);
- PushButton button2 = PushButton(3, ENABLE_INTERNAL_PULLUP);
- PushButton button3 = PushButton(2, ENABLE_INTERNAL_PULLUP);
- void setup(){
-
- Serial.begin(9600);
-
- button.configureButton(configurePushButton);
-
- button.onPress(onButtonPressed);
- button2.onPress(onButtonPressed);
- button3.onPress(onButtonPressed);
-
- button.onHoldRepeat(1000, 500, onButtonHeld);
-
- button.onRelease(onButtonReleased);
- button2.onRelease(onButtonReleased);
- button3.onRelease(onButtonReleased);
- Serial.println("Boot complete");
- }
- void loop(){
-
- button.update();
- button2.update();
- button3.update();
- }
- void configurePushButton(Bounce& bouncedButton){
-
- bouncedButton.interval(15);
- }
- void onButtonPressed(Button& btn){
- if(btn.is(button)){
- Serial.print("Button 1");
- } else if (btn.is(button2)){
- Serial.print("Button 2");
- } else if (btn.is(button3)){
- Serial.print("Button 3");
- } else {
- Serial.print("Hmmm, no button was");
- }
- Serial.println(" pressed");
- }
- void onButtonHeld(Button& btn, uint16_t duration, uint16_t repeatCount){
- Serial.print("button has been held for ");
- Serial.print(duration);
- Serial.print(" ms; this event has been fired ");
- Serial.print(repeatCount);
- Serial.println(" times");
- if(button2.isPressed()){
- Serial.println("Button 2 is also pressed");
- }
- }
- void onButtonReleased(Button& btn, uint16_t duration){
- Serial.print("button released after ");
- Serial.print(duration);
- Serial.println(" ms");
- }
|