-
Notifications
You must be signed in to change notification settings - Fork 1
/
ResetSet.ino
31 lines (26 loc) · 1.71 KB
/
ResetSet.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
Declare debounce mode as delayed mode.
Debounce the input signal from the button.
Toggle the state when pressing the button and update LED_BUILTIN with the toggle state.
*/
#include "ADebouncer.h"
#define setPin 12 // Define the set input pin.
#define resetPin 11 // Define the reset input pin.
#define debouncePeroid 1000 // Define the debounce period in milliseconds
ADebouncer setButton; // Declare set debouncer variable.
ADebouncer resetButton; // Declare reset debouncer variable.
bool state; // Declare state variable for ResetSet.
void setup() {
pinMode(setPin, INPUT_PULLUP); // Set the button mode as input pullup.
pinMode(resetPin, INPUT_PULLUP); // Set the button mode as input pullup.
pinMode(LED_BUILTIN, OUTPUT); // Set the LED_BUILTIN mode as output.
setButton.mode(DELAYED, debouncePeroid, HIGH); // Set the debounce mode as delayed mode and debounce period, with the initial output in a HIGH state.
resetButton.mode(INSTANT, debouncePeroid, HIGH); // Set the debounce mode as instant mode and debounce period, with the initial output in a HIGH state.
state = LOW; // Initial state in a LOW state.
}
void loop() {
setButton.debounce(digitalRead(setPin)); // Debounce input of the set button state.
resetButton.debounce(digitalRead(resetPin)); // Debounce input of the reset button state.
state = (state | !setButton.debounced()) & resetButton.debounced(); // Reset and Set the state
digitalWrite(LED_BUILTIN, state); // Update LED_BUILTIN with the state.
}