Souci avec la bibliothèque OneButton

Il y a deux élements importants à prendre en compte:

1/ la bibliothèque évalue ce qu'il se passe uniquement quand vous appelez tick() sur le bouton. Si vous ne le faites pas souvent parce que votre code est rempli de delay() c'est un souci.

2/ c'est à vous de définir ce qu'est un double click. Le GitHub de la bibliothèque explique

Note: Attaching a double click will increase the delay for detecting a single click. If a double click event is not attached, the library will assume a valid single click after one click duration, otherwise it must wait for the double click timeout to pass. This is because a single click callback must not to be triggered in case of a double click event.

Function Default Description
setDebounceMs(int) 50 msec Period of time in which to ignore additional level changes.
setClickMs(int) 400 msec Timeout used to distinguish single clicks from double clicks.
setPressMs(int) 800 msec Duration to hold a button to trigger a long press.

You may change these default values but be aware that when you specify too short times it is hard to click twice or you will create a long press instead of a click.

➜ si vous postez votre code on pourra mieux se rendre compte de ce que vous faites... Là on est un peu dans le brouillard et on joue aux devinettes....

PS/ j'ai sorti ce fil du tuto car c'est trop spécifique et c'est une question plus générale qui mérite son fil de discussion.