saltar al contenido

+49 1626571232

info@openelab.io

🚀 Envío gratuito a partir de 50€ en la UE / 80€ en todo el mundo

Button2: Simplificación del control de botones en placas Arduino y ESP

28 Oct 2024 0 Comentarios
Si está trabajando en proyectos basados ​​en Arduino o ESP y necesita un control de botones fácil y flexible, el Button2 biblioteca es una solución poderosa. Esta biblioteca liviana amplía las capacidades del manejo de botones estándar agregando funciones avanzadas como pulsaciones prolongadas, doble clic y acciones basadas en eventos. A continuación, presentamos un vistazo más de cerca a cómo Button2 simplifica la administración de entradas de su proyecto y por qué es perfecto para sus proyectos ESP32, ESP8266 o Arduino.
  

¿Qué es la Biblioteca Button2?

La biblioteca Button2 permite a los desarrolladores manejar fácilmente eventos de múltiples botones más allá del tradicional presionar y soltar. Admite operaciones avanzadas de botones como doble clic, pulsaciones prolongadas, clics múltiples y seguimiento de estado. Esto lo hace ideal para proyectos en los que se asignan múltiples acciones a un solo botón, ofreciendo un control preciso de la entrada del usuario.

  

Características clave de la biblioteca Button2

  • Admite múltiples eventos de botón: detecta clics simples, dobles, triples, pulsaciones largas y más.
  • Acciones basadas en eventos: gestiona eventos de botones con devoluciones de llamada, lo que mejora la legibilidad y la eficiencia del código.
  • Mecanismo de rebote: el manejo de rebote incorporado garantiza una detección de entrada confiable, evitando activaciones falsas.
  • Compatibilidad con múltiples botones: administre múltiples botones sin codificación compleja, ideal para interfaces multifuncionales.
  • ESP32 y Arduino Compatibilidad: Funciona perfectamente con Arduino IDE y admite ambos Placas ESP8266 y ESP32.
    

Por qué usar Botón2 ¿para su proyecto?

Manejar las entradas de los botones de manera eficiente es crucial para muchos proyectos, desde dispositivos domésticos inteligentes hasta robótica. Es posible que las bibliotecas de botones estándar solo detecten pulsaciones básicas, pero Button2 va más allá y ofrece un enfoque basado en eventos con devoluciones de llamada para múltiples estados de botones.
Esto reduce la necesidad de sondear el botón constantemente en su código, asegurando que el microcontrolador pueda concentrarse en otras tareas. Ya sea que esté creando interruptores inteligentes, paneles de entrada de usuario o incluso juegos, Button2 le brinda la flexibilidad que necesita.

  

Guía del usuario

 1Importar la biblioteca

En su código Arduino/ESP, use el siguiente código para importar la biblioteca Button2:
// Initialize M5StickC Plus2
#include "Button2.h"
        
✔ ¡Copiado!
  
2. Definir el Botón
Utilice la clase Button2 para crear un objeto de botón y pasar el pin del botón como argumento:
// Initialize M5StickC Plus2
#define BUTTON_PIN D3

Button2 button;

void setup() {
  button.begin(BUTTON_PIN);
}
        
✔ ¡Copiado!

 

3. Establecer funciones de callback

Utilizar el setXXXHandler() Métodos para asignar funciones de devolución de llamada para diferentes acciones de botones:
  • setTapHandler(): activa cualquier pulsación de botón; Sirve como función básica de devolución de llamada.
  • setClickHandler(): se activa con un solo clic.
  • setChangedHandler(), setPressedHandler(), setReleasedHandler(): detecta cambios en el estado del botón.
  • setLongClickDetectedHandler(): se activa cuando se mantiene presionado el botón durante un período específico.
  • setLongClickHandler(): se activa después de soltar el botón después de una pulsación larga.
  • setDoubleClickHandler(), setTripleClickHandler(): Detecta clics dobles y triples.
    // Initialize M5StickC Plus2
    void handleTap(Button2& b) {
      // Handle Button Click Events
    }
    
    void setup() {
      // ...
      button.setTapHandler(handleTap);
    }
            
    ✔ ¡Copiado!

    

4. Llama al bucle() Función

En su función loop() , llame a la función loop() del objeto de botón:
// Initialize M5StickC Plus2
void loop() {
  button.loop();
}
        
✔ ¡Copiado!

 

5. Funciones Extendidas

La biblioteca Button2 también proporciona funciones adicionales, como:
  • Parámetros personalizables como duración de pulsación prolongada y tiempo de doble clic.
  • El uso de un temporizador interrumpe la llamada a la función loop(), evitando el bloqueo del bucle principal.
  • Funciones personalizadas de detección de estado de botones que admiten varios tipos de botones, como botones táctiles capacitivos y botones basados ​​en I2C.
   

Código de Ejemplo

A continuación se muestra un código de muestra que demuestra cómo utilizar la biblioteca Button2 para implementar un solo clic y una pulsación larga:
// 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
}

        
✔ ¡Copiado!

 

Conclusión: simplifique la gestión de botones con Button2

La biblioteca Button2 cambia las reglas del juego para los desarrolladores que trabajan con Arduino, ESP32 o ESP8266. Ofrece una manera fácil de administrar múltiples estados de botones, haciendo que su código sea más limpio y eficiente. Ya sea que esté desarrollando dispositivos domésticos inteligentes, robótica o proyectos interactivos, Button2 proporciona las herramientas para manejar las entradas de botones de manera efectiva.
Con devoluciones de llamada basadas en eventos, control de rebotes y compatibilidad con múltiples botones, Button2 elimina la complejidad de la gestión de entradas y le ayuda a centrarse en crear grandes proyectos. ¡Empiece hoy y experimente lo fácil que puede ser el control de botones!

 

Publicación anterior
Siguiente publicación

Deja un comentario

Todos los comentarios del blog se revisan antes de publicarlos.

Alguien compró recientemente un

¡Gracias por suscribirte!

¡Este correo electrónico ha sido registrado!

Compra el look

Elija opciones

Editar opción
Notificación de nuevo disponible
this is just a warning
Acceso
Carro de la compra
0 elementos
RuffRuff App RuffRuff App by Tsun