#include <OneButton.h>
const byte brocheRelai = 8; // notre relai est sur la pin 8
const byte brocheBouton = 2; // notre bouton est sur la pin 2
OneButton bouton(brocheBouton); // se charge de régler le INPUT_PULLUP
// la fonction appelée en cas d'appui long
// on inverse l'état du relai (ici modélisé par la LED)
void appuiLong() {
digitalWrite(brocheRelai, digitalRead(brocheRelai) == HIGH ? LOW : HIGH);
}
void setup() {
pinMode(brocheRelai, OUTPUT);
// on dit qu'un appui long c'est 3 secondes
bouton.setPressMs(3000);
// on enregistre le callback
bouton.attachLongPressStart(appuiLong);
}
void loop() {
// on surveille ce qu'il se passe sur le bouton
bouton.tick();
}