/*
2ELEA
06/02/2024
accensione e spegnimento di un led
tramite un solo pulsante
Nota:
elimino i rimbalzi tramite la libreria
Bounce2
Osservazione:
importare la libreria Bounce2 di
Thomas Ouellet Fredericks
https://github.com/thomasfredericks/Bounce2
*/
#include <Bounce2.h>
const int pinButton = 10;
const int pinLed = 12;
int statoLed = LOW;
int precStatoPulsante = HIGH;
// dichiaro un pulsante "virtuale" con debunce
Bounce2::Button pulsanteOnOff = Bounce2::Button();
void setup() {
Serial.begin(115200);
pinMode(pinButton, INPUT_PULLUP);
pinMode(pinLed, OUTPUT);
digitalWrite(pinLed, statoLed);
// collego il pulsante virtuale al pulsante fisico
pulsanteOnOff.attach(pinButton, INPUT_PULLUP);
}
void loop() {
// aggiorno lo stato del pulsante virtuale
pulsanteOnOff.update();
// il pulsante è stato premuto? fronte di discesa...
if ( pulsanteOnOff.fell() ) {
// commuta lo stato del led quando
// il pulsante passa da HIGH a LOW
// inverte lo stato del led
statoLed = !statoLed;
digitalWrite(pinLed, statoLed);
// messaggio di debug
if (statoLed == HIGH) {
Serial.println(" acceso");
}
if (statoLed == LOW) {
Serial.println(" spento");
}
}
}