1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*
- DESCRIPTION
- ====================
- This is an example of the Bounce2::Button class.
- When the user presses a physical button, it toggles a LED on or off.
- The Button class matches an electrical state to a physical action.
- Use .setPressedState(LOW or HIGH) to set the detection state for when the button is pressed.
- INSCRUCTIONS
- ====================
- Set BUTTON_PIN to the pin attached to the button.
- Set LED_PIN to the pin attached to a LED.
-
- */
- // WE WILL attach() THE BUTTON TO THE FOLLOWING PIN IN setup()
- #define BUTTON_PIN 2
- // DEFINE THE PIN FOR THE LED :
- // 1) SOME BOARDS HAVE A DEFAULT LED (LED_BUILTIN)
- //#define LED_PIN LED_BUILTIN
- // 2) OTHERWISE SET YOUR OWN PIN
- #define LED_PIN 13
-
- // Include the Bounce2 library found here :
- // https://github.com/thomasfredericks/Bounce2
- #include <Bounce2.h>
- // INSTANTIATE A Button OBJECT FROM THE Bounce2 NAMESPACE
- Bounce2::Button button = Bounce2::Button();
- // SET A VARIABLE TO STORE THE LED STATE
- int ledState = LOW;
- void setup() {
- // BUTTON SETUP
-
- // SELECT ONE OF THE FOLLOWING :
- // 1) IF YOUR BUTTON HAS AN INTERNAL PULL-UP
- // button.attach( BUTTON_PIN , INPUT_PULLUP ); // USE INTERNAL PULL-UP
- // 2) IF YOUR BUTTON USES AN EXTERNAL PULL-UP
- button.attach( BUTTON_PIN, INPUT ); // USE EXTERNAL PULL-UP
- // DEBOUNCE INTERVAL IN MILLISECONDS
- button.interval(5);
- // INDICATE THAT THE LOW STATE CORRESPONDS TO PHYSICALLY PRESSING THE BUTTON
- button.setPressedState(LOW);
-
- // LED SETUP
- pinMode(LED_PIN,OUTPUT);
- digitalWrite(LED_PIN,ledState);
- }
- void loop() {
- // UPDATE THE BUTTON
- // YOU MUST CALL THIS EVERY LOOP
- button.update();
- // <Button>.pressed() RETURNS true IF THE STATE CHANGED
- // AND THE CURRENT STATE MATCHES <Button>.setPressedState(<HIGH or LOW>);
- // WHICH IS LOW IN THIS EXAMPLE AS SET WITH button.setPressedState(LOW); IN setup()
- if ( button.pressed() ) {
-
- // TOGGLE THE LED STATE :
- ledState = !ledState; // SET ledState TO THE OPPOSITE OF ledState
- digitalWrite(LED_PIN,ledState); // WRITE THE NEW ledState
- }
- }
|