#include "onePulsePin.h" // The non-blocking one shot pulse out class.
#include <mechButton.h> // Button debouncing library.
#define PULSE_PIN 2 // The thing will be run on pin #2
#define THING_PIN 3 // The button for the thing will be on pin #3
onePulsePin thing(PULSE_PIN); // Create the thing object. (The pin that pulses)
mechButton thingButton(THING_PIN); // Create the button object. (The button you push.)
void setup() {
thingButton.setCallback(doThing); // Tell button to to call this function when changed.
digitalWrite(PULSE_PIN,LOW);
}
// When there's a change on the button, this function will be called.
void doThing(void) {
if (!thingButton.trueFalse()) { // If the button has been grounded..
thing.pulse(1000,HIGH); // Do a HIGH pulse to the thing for this amount of ms.
}
}
void loop() {
idle(); // idle() lets all the magic happen behind the scenes.
}