Files
thomasfredericks_Bounce2/examples/change/change.ino
T
Albert Phan d75d7d0bba Many updates including held() and retrigger()
Updated Constructors to do all the pin() and interval() setups. All the
setup can now be done in one step when instantiating the object. Added
held() and retrigger(). See examples. Updated other examples to use the
new constructor.
2015-03-26 17:34:10 -07:00

52 lines
980 B
Arduino

// Detect the falling edge
// Include the Bounce2 library found here :
// https://github.com/thomasfredericks/Bounce-Arduino-Wiring
#include <Bounce2.h>
#define BUTTON_PIN 2
#define LED_PIN 13
#define DEBOUNCE_TIME 5
#define HOLD_TIME 1000
#define RETRIGGER_TIME 100
int ledState = LOW;
// Instantiate a Bounce object with default values
Bounce debouncer(BUTTON_PIN);
// Or set your own values when instantiating Bounce object
// Bounce debouncer(BUTTON_PIN,DEBOUNCE_TIME, RETRIGGER_TIME, HOLD_TIME);
void setup() {
// Setup the button with an internal pull-up :
pinMode(BUTTON_PIN,INPUT);
// Setup the LED :
pinMode(LED_PIN,OUTPUT);
digitalWrite(LED_PIN,ledState);
}
void loop() {
// Update the Bounce instance :
debouncer.update();
// Call code if Bounce fell (transition from HIGH to LOW) :
if ( debouncer.fell() ) {
// Toggle LED state :
ledState = !ledState;
digitalWrite(LED_PIN,ledState);
}
}