Auteur Sujet: Bibliothèque avdweb  (Lu 18086 fois)

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Bibliothèque avdweb
« le: janvier 09, 2019, 09:54:05 am »
Bonjour à tous,

je viens de découvrir une petite bibliothèque bien pratique pour augmenter le nombre d'actions possibles avec 1 seul bouton.
Cette bibliothèque reconnait 5 états d'une touche: L'appui, le relâchement, le simple clic, le double clic et l'appui long. Je vous laisse imaginer toutes les applications possibles.

Une petite mise en bouche: https://www.avdweb.nl/arduino/hardware-interfacing/simple-switch-debouncer mais attention, il y a beaucoup de "if", comprenne qui voudra  ;)
et le GitHub pour la télécharger: https://github.com/avandalen/avdweb_Switch

Si les tempos utilisées ne vous conviennent pas vous pouvez les modifier dans avdweb_Switch.h à la ligne 21.
Personnellement les valeurs suivantes me conviennent mieux:
  Switch(byte _pin, byte PinMode=INPUT_PULLUP, bool polarity=LOW, int debouncePeriod=50, int longPressPeriod=500, int doubleClickPeriod=350, int deglitchPeriod=10);

Cordiales salutations à tous
Antoine
« Modifié: janvier 09, 2019, 10:07:50 am par Tony04 »

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : Bibliothèque avdweb
« Réponse #1 le: janvier 09, 2019, 12:22:44 pm »
Si les tempos utilisées ne vous conviennent pas vous pouvez les modifier dans avdweb_Switch.h à la ligne 21.
Personnellement les valeurs suivantes me conviennent mieux:
  Switch(byte _pin, byte PinMode=INPUT_PULLUP, bool polarity=LOW, int debouncePeriod=50, int longPressPeriod=500, int doubleClickPeriod=350, int deglitchPeriod=10);

Non non non

Ce n'est pas comme ça qu'il faut faire, il ne faut pas toucher le .h. Ligne 21 ce sont des valeurs par défaut quand on ne fournit pas d'arguments lors de la construction de l'objet.

Pour utiliser d'autres valeurs, il faut simplement construire l'objet avec ses arguments. Il y a un exemple incomplet ligne 14 du code montré sur la première page web :

Switch button10ms = Switch(Button10mspin, INPUT_PULLUP, LOW, 1); // debounceTime 1ms

Donc pour tes valeurs:

Switch monBouton(pinMonBouton, INPUT_PULLUP, LOW, 50, 500, 350, 10);

Bibliothèque intéressante :)
Cordialement

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : Bibliothèque avdweb
« Réponse #2 le: janvier 09, 2019, 03:41:55 pm »
Bonjour Jean-Luc,

"fort" (puisqu'il ne faut plus écrire nul  >:( ) comme je suis en POO, comment voulais-tu que je trouve cela par moi-même, mais comme tu vois je me débrouille autrement pour le même résultat. Il est vrai que ce n'est pas une bonne idée de modifier des bibliothèques si on veut partager le s sketchs.

merci pour ton intervention.

Cordialement
Antoine

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : Bibliothèque avdweb
« Réponse #3 le: janvier 09, 2019, 11:35:54 pm »
Et également si tu dois mettre la bibliothèque à jour, ce qui écrasera tes réglages

Cordialement