Aller au contenu

+49 1626571232

info@openelab.io

🚀 Livraison gratuite à partir de 50€ dans l'UE / 80€ dans le monde entier

FAQ

Button2 : Simplifier le contrôle des boutons sur les cartes Arduino et ESP

28 Oct 2024 0 commentaires
Si vous travaillez sur des projets basés sur Arduino ou ESP et avez besoin d'un contrôle simple et flexible des boutons, le Button2 library est une solution puissante. Cette bibliothèque légère étend les capacités de gestion des boutons standard en ajoutant des fonctionnalités avancées telles que des appuis longs, des doubles-clics et des actions basées sur des événements. Voici un aperçu plus approfondi de la façon dont Button2 simplifie la gestion des entrées de votre projet et pourquoi il est parfait pour vos projets ESP32, ESP8266 ou Arduino.
  

Qu'est-ce que la bibliothèque Button2 ?

La bibliothèque Button2 permet aux développeurs de gérer facilement plusieurs événements de boutons au-delà du traditionnel push-and-release. Il prend en charge les opérations avancées sur les boutons telles que les double-clics, les appuis longs, les multi-clics et le suivi d'état. Cela le rend idéal pour les projets dans lesquels plusieurs actions sont affectées à un seul bouton, offrant un contrôle précis des entrées utilisateur.

  

Caractéristiques clés de la bibliothèque Button2

  • Prise en charge de plusieurs événements de boutons : Détecte les clics simples, les doubles clics, les triples clics, les pressions longues, et bien plus encore.
  • Actions basées sur des événements : gérez les événements des boutons avec des rappels, améliorant ainsi la lisibilité et l'efficacité du code.
  • Mécanisme anti-rebond : la gestion anti-rebond intégrée garantit une détection fiable des entrées, évitant ainsi les faux déclenchements.
  • Prise en charge de plusieurs boutons : gérez plusieurs boutons sans codage complexe, idéal pour les interfaces multifonctionnelles.
  • ESP32 et Arduino Compatibilité : Fonctionne parfaitement avec Arduino IDE, prenant en charge les deux ESP8266 et ESP32.
    

Pourquoi utiliser Bouton2 pour Votre Projet ?

La gestion efficace des entrées de boutons est cruciale pour de nombreux projets, des appareils domestiques intelligents à la robotique. Les bibliothèques de boutons standard ne détectent peut-être que les pressions de base, mais Button2 va plus loin, offrant une approche basée sur les événements avec des rappels pour plusieurs états de boutons.
Cela réduit le besoin d'interroger constamment le bouton dans votre code, garantissant ainsi que le microcontrôleur peut se concentrer sur d'autres tâches. Que vous construisiez des commutateurs intelligents, des panneaux de saisie utilisateur ou même des jeux, Button2 offre la flexibilité dont vous avez besoin.

  

Mode d'emploi

 1Importer la bibliothèque

Dans votre code Arduino/ESP, utilisez le code suivant pour importer la bibliothèque Button2 :
// Initialize M5StickC Plus2
#include "Button2.h"
        
✔ Copié !
  
2. Définir le bouton
Utilisez la classe Button2 pour créer un objet bouton et transmettre l'épingle du bouton comme argument :
// Initialize M5StickC Plus2
#define BUTTON_PIN D3

Button2 button;

void setup() {
  button.begin(BUTTON_PIN);
}
        
✔ Copié !

 

3. Définir les fonctions de rappel

Utilisez le setXXXHandler() méthodes pour attribuer des fonctions de rappel pour différentes actions de bouton :
  • setTapHandler() : déclenche toute pression sur un bouton ; sert de fonction de rappel de base.
  • setClickHandler() : se déclenche en un seul clic.
  • setChangedHandler(), setPressedHandler(), setReleasedHandler() : détecte les changements dans l'état du bouton.
  • setLongClickDetectedHandler() : se déclenche lorsque le bouton est maintenu enfoncé pendant une durée spécifiée.
  • setLongClickHandler() : se déclenche après le relâchement du bouton suite à un appui long.
  • setDoubleClickHandler(), setTripleClickHandler() : Détecte les doubles et triples clics.
    // Initialize M5StickC Plus2
    void handleTap(Button2& b) {
      // Handle Button Click Events
    }
    
    void setup() {
      // ...
      button.setTapHandler(handleTap);
    }
            
    ✔ Copié !

    

4. Appelez le boucle() Fonction

Dans votre fonction loop() , appelez la fonction loop() de l'objet bouton :
// Initialize M5StickC Plus2
void loop() {
  button.loop();
}
        
✔ Copié !

 

5. Fonctionnalités étendues

La bibliothèque Button2 fournit également des fonctionnalités supplémentaires, telles que :
  • Paramètres personnalisables tels que la durée d'appui longue et le timing du double-clic.
  • L'utilisation d'un timer interrompt l'appel de la fonction loop(), empêchant le blocage de la boucle principale.
  • Fonctions de détection d'état des boutons personnalisées qui prennent en charge différents types de boutons, tels que les boutons tactiles capacitifs et les boutons basés sur I2C.
   

Exemple de code

Vous trouverez ci-dessous un exemple de code montrant comment utiliser la bibliothèque Button2 pour implémenter un simple clic et un appui long :
// Initialize M5StickC Plus2
#include 

Button2 button(2);  // Create a button object on GPIO pin 2

void setup() {
  Serial.begin(9600);  // Initialize serial communication

  // Handle single click
  button.setClickHandler([](Button2 &btn) {
    Serial.println("Single click detected!");
  });

  // Handle long press after release
  button.setLongClickHandler([](Button2 &btn) {
    Serial.println("Long press completed!");
  });
}

void loop() {
  button.loop();  // Continuously check for button events
}

        
✔ Copié !

 

Conclusion : simplifiez la gestion des boutons avec Button2

La bibliothèque Button2 change la donne pour les développeurs travaillant avec Arduino, ESP32 ou ESP8266. Il offre un moyen simple de gérer plusieurs états de boutons, rendant votre code plus propre et plus efficace. Que vous développiez des appareils domestiques intelligents, de la robotique ou des projets interactifs, Button2 fournit les outils nécessaires pour gérer efficacement les entrées de boutons.
Avec les rappels basés sur les événements, la gestion anti-rebond et la prise en charge de plusieurs boutons, Button2 simplifie la gestion des entrées et vous aide à vous concentrer sur la création. de beaux projets. Commencez dès aujourd'hui et découvrez à quel point le contrôle des boutons peut être simple !

 

Article précédent
Prochain article

laissez un commentaire

Tous les commentaires du blog sont vérifiés avant la publication

Quelqu'un a récemment acheté un

Merci pour votre subscription!

Cet email a été enregistré !

Achetez le look

Choisissez les options

Modifier l'option
Notification de retour en stock
this is just a warning
Se connecter
Panier
0 articles
RuffRuff App RuffRuff App by Tsun