Initial commit
This is just the 2018 code configured for PlatformIO
This commit is contained in:
56
lib/Bounce2/examples/bounce_multiple/bounce_multiple.ino
Normal file
56
lib/Bounce2/examples/bounce_multiple/bounce_multiple.ino
Normal file
@ -0,0 +1,56 @@
|
||||
// Detect the falling edge of multiple buttons.
|
||||
// Eight buttons with internal pullups.
|
||||
// Toggles a LED when any button is pressed.
|
||||
// Buttons on pins 2,3,4,5,6,7,8,9
|
||||
|
||||
// Include the Bounce2 library found here :
|
||||
// https://github.com/thomasfredericks/Bounce2
|
||||
#include <Bounce2.h>
|
||||
|
||||
#define LED_PIN 13
|
||||
|
||||
#define NUM_BUTTONS 8
|
||||
const uint8_t BUTTON_PINS[NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9};
|
||||
|
||||
int ledState = LOW;
|
||||
|
||||
Bounce * buttons = new Bounce[NUM_BUTTONS];
|
||||
|
||||
void setup() {
|
||||
|
||||
for (int i = 0; i < NUM_BUTTONS; i++) {
|
||||
buttons[i].attach( BUTTON_PINS[i] , INPUT_PULLUP ); //setup the bounce instance for the current button
|
||||
buttons[i].interval(25); // interval in ms
|
||||
}
|
||||
|
||||
// Setup the LED :
|
||||
pinMode(LED_PIN, OUTPUT);
|
||||
digitalWrite(LED_PIN, ledState);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
bool needToToggleLed = false;
|
||||
|
||||
|
||||
for (int i = 0; i < NUM_BUTTONS; i++) {
|
||||
// Update the Bounce instance :
|
||||
buttons[i].update();
|
||||
// If it fell, flag the need to toggle the LED
|
||||
if ( buttons[i].fell() ) {
|
||||
needToToggleLed = true;
|
||||
}
|
||||
}
|
||||
|
||||
// if a LED toggle has been flagged :
|
||||
if ( needToToggleLed ) {
|
||||
// Toggle LED state :
|
||||
ledState = !ledState;
|
||||
digitalWrite(LED_PIN, ledState);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user