evert-arias/EasyButton
Arduino library for debouncing momentary contact switches, detect press, release, long press and sequences with event definitions and callbacks.
🛠️ EasyButton: Thư viện Arduino xử lý nút nhấn thông minh với debounce và callback
Giải pháp nhẹ gọn cho việc lắng nghe sự kiện từ nút nhấn trên Arduino, ESP32 và các board tương thích.
EasyButton là một thư viện nhỏ gọn cho Arduino, thiết kế để xử lý các loại nút nhấn momentary (nhấn ngắn, giữ) một cách ổn định bằng cách loại bỏ hiện tượng dộng cơ (debounce). Nó hỗ trợ phát hiện sự kiện nhấn, nhả, nhấn giữ một thời gian nhất định, cũng như nhận diện chuỗi nhấn theo mẫu. Mỗi sự kiện đều có thể gán một hàm callback riêng để thực thi hành động tương ứng.
✨ Điểm nổi bật
- Debounce tự động: Loại bỏ hiện tượng dộng cơ trên tín hiệu nút nhấn.
- Phát hiện sự kiện phong phú: Hỗ trợ nhấn một lần, nhấn giữ, nhả ra.
- Nhận diện chuỗi nhấn: Đếm và so khớp mẫu nhấn để kích hoạt sự kiện riêng.
- Callback linh hoạt: Gán hàm xử lý riêng cho từng loại sự kiện.
- Hỗ trợ nhiều board: Tương thích với Arduino, ESP32 và các board tương tự.
- Tài liệu chi tiết: Có tài liệu hướng dẫn đầy đủ tại trang web chính thức.
💡 Vì sao đáng chú ý
EasyButton khác biệt từ cách tiếp cận thủ công thông thường bằng cách tích hợp sẵn logic debounce và quản lý trạng thái nút nhấn thông qua lập trình hướng sự kiện. Điều này giúp giảm đáng kể thời gian phát triển và tăng độ tin cậy của hệ thống. Phù hợp cho các dự án IoT, điều khiển thiết bị, hoặc bất kỳ ứng dụng nào cần xử lý nút nhấn một cách chính xác và mượt mà.
#Arduino #ESP32 #Debounce #PushButton #OpenSource #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
📟 JSON library for Arduino and embedded C++. Simple and efficient.
Infrared remote library for Arduino: send and receive infrared signals with multiple protocols
Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)
A Simple ESP32 Bluetooth A2DP Library (to implement a Music Receiver or Sender) that supports Arduino, PlatformIO and Espressif IDF
An Arduino library for using a single button for multiple purpose input.
Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips