Passer au contenu
📞 +49 1626571232 📧 info@openelab.io
🚀 Livraison gratuite à partir de 30€ en Allemagne, 50€ dans l'UE !
Avez-vous besoin d'aide? Adresse : Zeppelinstraße 33, 85748 Garching bei MünchenE-mail: info@openelab.ioMobile: +49 1626571232

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

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 !

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués d'un *

Barre latérale

Inscrivez-vous à notre newsletter

Obtenez les dernières informations sur nos produits et offres spéciales.

Panier d'achats

Ce site utilise des cookies pour améliorer l'expérience utilisateur et pour analyser les performances et le trafic sur notre site web. Nous partageons également des informations sur votre utilisation de notre site avec nos partenaires des médias sociaux, de la publicité et de l'analyse.

Comparer les produits

Comparer
Tout effacer
Rechercher sur notre site
Besoin d'inspiration ?
M5StickC PLUS2 ESP32 Mini IoT Development Kit - OpenELABKit de développement Mini IoT M5StickC PLUS2 ESP32
Munich
Ajouter à la liste de souhaits Ajouter à la comparaison
Xiaomi CyberGear Micromotor Intelligent Motor - OpenELABMoteur intelligent de micromoteur Xiaomi CyberGear
Munich
Ajouter à la liste de souhaits Ajouter à la comparaison
Adaptateur Ethernet filaire Base-T WisdPi 5 Gbit/s USB3.2 Realtek RTL8157Adaptateur Ethernet filaire Base-T WisdPi 5 Gbit/s USB3.2 Realtek RTL8157
Munich
Ajouter à la liste de souhaits Ajouter à la comparaison
M5Stack Cardputer Kit with M5StampS3 1400mAh Battery - OpenELABKit d'ordinateur de carte M5Stack avec batterie M5StampS3 1400mAh
Munich
Ajouter à la liste de souhaits Ajouter à la comparaison

Réinitialiser votre mot de passe

Inscrivez-vous pour accéder aux ventes anticipées ainsi qu'aux nouvelles arrivées, tendances et promotions adaptées. Pour ne plus recevoir d'e-mails, cliquez sur le lien de désinscription dans nos e-mails

Se connecter

S'inscrire

Your connection needs to be verified before you can proceed