Button2: Zjednodušení ovládání tlačítek na deskách Arduino a ESP

Pokud pracujete na projektech založených na Arduino nebo ESP a potřebujete jednoduché, flexibilní ovládání tlačítek, knihovna Button2 je silné řešení. Tato lehká knihovna rozšiřuje možnosti standardního ovládání tlačítek přidáním pokročilých funkcí, jako jsou dlouhé stisky, dvojité kliknutí a akce řízené událostmi. Zde je podrobnější pohled na to, jak Button2 zjednodušuje správu vstupů vašeho projektu a proč je ideální pro vaše projekty ESP32, ESP8266 nebo Arduino.
  

Co je knihovna Button2?

Knihovna Button2 umožňuje vývojářům snadno zpracovávat více událostí tlačítek nad rámec tradičního stisknutí a uvolnění. Podporuje pokročilé operace s tlačítky, jako jsou dvojité kliknutí, dlouhé stisky, více kliknutí a sledování stavu. To ji činí ideální pro projekty, kde je na jedno tlačítko přiřazeno více akcí, což nabízí přesnou kontrolu uživatelského vstupu.

  

Klíčové vlastnosti knihovny Button2

  • Podpora více událostí tlačítek: Detekuje jednotlivé kliknutí, dvojité kliknutí, trojité kliknutí, dlouhé stisky a další.
  • Akce řízené událostmi: Zpracovávejte události tlačítek pomocí zpětných volání, což zlepšuje čitelnost a efektivitu kódu.
  • Mechanismus potlačení odrazů: Vestavěné zpracování potlačení odrazů zajišťuje spolehlivou detekci vstupu a zabraňuje falešným spuštěním.
  • Podpora více tlačítek: Spravujte více tlačítek bez složitého kódování, ideální pro víceúčelová rozhraní.
  • Kompatibilita ESP32 a Arduino: Funguje bez problémů s Arduino IDE, podporující jak desky ESP8266, tak ESP32.
    

Proč používat Tlačítko2 pro váš projekt?

Efektivní zpracování vstupů z tlačítek je klíčové pro mnoho projektů, od chytrých domácích zařízení po robotiku. Standardní knihovny tlačítek mohou detekovat pouze základní stisky, ale Button2 jde dál a nabízí přístup založený na událostech s zpětnými voláními pro více stavů tlačítek.
To snižuje potřebu neustálého dotazování tlačítka ve vašem kódu, což zajišťuje, že mikrokontrolér se může soustředit na jiné úkoly. Ať už vytváříte chytré spínače, uživatelské vstupní panely nebo dokonce hry, Button2 poskytuje flexibilitu, kterou potřebujete.

  

Uživatelská příručka

 1Import knihovny

Ve vašem kódu Arduino/ESP použijte následující kód pro import knihovny Button2:
// Initialize M5StickC Plus2
#include "Button2.h"
        
✔ Zkopírováno!
  
2. Definujte tlačítko
Použijte třídu Button2 k vytvoření objektu tlačítka a předání pinu tlačítka jako argumentu:
// Initialize M5StickC Plus2
#define BUTTON_PIN D3

Button2 button;

void setup() {
  button.begin(BUTTON_PIN);
}
        
✔ Zkopírováno!

 

3. Nastavit zpětné volání funkcí

Použijte setXXXHandler() metody pro přiřazení zpětných volání funkcí pro různé akce tlačítek:
  • setTapHandler(): Spouští se při jakémkoli klepnutí na tlačítko; slouží jako základní zpětná volání.
  • setClickHandler(): Spustí se při jediném kliknutí.
  • setChangedHandler(), setPressedHandler(), setReleasedHandler(): Detekuje změny stavu tlačítka.
  • setLongClickDetectedHandler(): Spustí se, když je tlačítko podrženo po stanovenou dobu.
  • setLongClickHandler(): Spustí se po uvolnění tlačítka po dlouhém stisku.
  • setDoubleClickHandler(), setTripleClickHandler(): Detekuje dvojité a trojité kliknutí.
    // Initialize M5StickC Plus2
    void handleTap(Button2& b) {
      // Handle Button Click Events
    }
    
    void setup() {
      // ...
      button.setTapHandler(handleTap);
    }
            
    ✔ Zkopírováno!

    

4. Zavolejte smyčka() Funkce

Ve vaší loop() funkci zavolejte loop() funkci objektu tlačítka:
// Initialize M5StickC Plus2
void loop() {
  button.loop();
}
        
✔ Zkopírováno!

 

5. Rozšířené funkce

Knihovna Button2 také poskytuje další funkce, jako například:
  • Uživatelsky přizpůsobitelné parametry jako doba dlouhého stisku a časování dvojkliku.
  • Použití časovačových přerušení volajících funkci loop(), což zabraňuje zablokování hlavní smyčky.
  • Vlastní funkce detekce stavu tlačítek, které podporují různé typy tlačítek, jako jsou kapacitní dotyková tlačítka a tlačítka založená na I2C.
   

Příklad kódu

Níže je ukázkový kód, který demonstruje, jak použít knihovnu Button2 k implementaci jednoho kliknutí a dlouhého stisku:
// 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
}

        
✔ Zkopírováno!

 

Závěr: Zjednodušte správu tlačítek s Button2

Knihovna Button2 je průlomová pro vývojáře pracující s Arduino, ESP32 nebo ESP8266. Nabízí snadný způsob, jak spravovat více stavů tlačítek, což činí váš kód čistším a efektivnějším. Ať už vyvíjíte chytrá domácí zařízení, robotiku nebo interaktivní projekty, Button2 poskytuje nástroje pro efektivní zpracování vstupů z tlačítek.
S událostmi řízenými zpětnými voláními, zpracováním debounce a podporou více tlačítek Button2 odstraňuje složitost správy vstupů, což vám pomáhá soustředit se na vytváření skvělých projektů. Začněte ještě dnes a zažijte, jak snadná může být kontrola tlačítek!

 

Zanechte komentář

Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *

Přihlaste se k odběru našeho newsletteru

Získejte nejnovější informace o našich produktech a speciálních nabídkách.