|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
-
-
-
-
-
- #include <Bounce2.h>
-
-
- #define BUTTON_PIN 2
- #define LED_PIN 13
-
-
- Bounce debouncer = Bounce();
-
- int buttonState;
- unsigned long buttonPressTimeStamp;
-
- int ledState;
-
- void setup() {
-
- Serial.begin(57600);
-
-
- pinMode(BUTTON_PIN,INPUT);
-
- digitalWrite(BUTTON_PIN,HIGH);
-
-
- debouncer.attach(BUTTON_PIN);
- debouncer.interval(5);
-
-
- pinMode(LED_PIN,OUTPUT);
- digitalWrite(LED_PIN,ledState);
-
- }
-
- void loop() {
-
- boolean changed = debouncer.update();
-
-
-
- if ( changed ) {
-
- int value = debouncer.read();
- if ( value == HIGH) {
- ledState = LOW;
- digitalWrite(LED_PIN, ledState );
-
- buttonState = 0;
- Serial.println("Button released (state 0)");
-
- } else {
- ledState = HIGH;
- digitalWrite(LED_PIN, ledState );
-
- buttonState = 1;
- Serial.println("Button pressed (state 1)");
- buttonPressTimeStamp = millis();
-
- }
- }
-
- if ( buttonState == 1 ) {
- if ( millis() - buttonPressTimeStamp >= 500 ) {
- buttonPressTimeStamp = millis();
- if ( ledState == HIGH ) ledState = LOW;
- else if ( ledState == LOW ) ledState = HIGH;
- digitalWrite(LED_PIN, ledState );
- Serial.println("Retriggering button");
- }
- }
-
-
- }
-
-
|