Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <PciManager.h>
- #include <SoftTimer.h>
- #include <Debouncer.h>
- #include <DelayRun.h>
- #define INPUT_PIN 3
- // -- Define method signatures.
- void onPinChanged();
- // -- Define method signatures.
- boolean doDelayed(Task* task);
- Debouncer debouncer(INPUT_PIN, MODE_CLOSE_ON_PUSH, onPinChanged, NULL);
- // -- Runs after 3 seconds
- DelayRun delayTask(3000, doDelayed);
- boolean waitingSecondEvent = false;
- void setup() {
- Serial.begin(9800);
- PciManager.registerListener(INPUT_PIN, &debouncer);
- Serial.println("Ready.");
- }
- void onPinChanged() {
- if (!waitingSecondEvent)
- {
- Serial.println("First event detected");
- delayTask.startDelayed();
- waitingSecondEvent = true;
- }
- Serial.println("Second event occurred");
- waitingSecondEvent = false;
- SoftTimer.remove(&delayTask);
- }
- boolean doDelayed(Task* task) {
- Serial.println("No second event within 3 secs");
- waitingSecondEvent = false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement