/* 自定義代碼塊樣式 */

2019年4月22日 星期一

單顆按鍵程式庫 OneButton


最近在開發的板子,因為當初僅設計一個按鍵,現在又需要進行更多的設定操作,結果外接的IO腳位不夠使用了,便上網搜尋了一下,找到了OneButton Library可以用,連結如下

https://github.com/mathertel/OneButton

它可以透過一個按鍵判斷Click、Double Click、Long Press的狀態,剛好可以滿足現在的應用了

下面是把所有OneButton的Function都列出,可以把需要的Function保留下來就好

  1. #include "OneButton.h"
  2. OneButton button1(GPIO_NUM_0, true);
  3.  
  4. void click1(){
  5. ......
  6. }
  7.  
  8. void doubleclick1(){
  9. ......
  10. }
  11.  
  12. void longPressStart1(){
  13. ......
  14. }
  15.  
  16. void longPressStop1(){
  17. ......
  18. }
  19.  
  20. void longPress1(){
  21. ......
  22. }
  23.  
  24. void setup(){
  25. button1.attachClick(click1);
  26. button1.attachDoubleClick(doubleclick1);
  27. button1.attachLongPressStart(longPressStart1);
  28. button1.attachLongPressStop(longPressStop1);
  29. button1.attachDuringLongPress(longPress1);
  30. }

2 則留言:

Unknown 提到...

想跟您請教一下

我想用程式庫OneButton做動作
可是我的希望它在不同的狀態下同樣的動作有不同的效果

Matt 提到...

可以增加一個全域變數,作為進入OneButton後的判斷,讓OneButton知道現在是甚麼狀態而做出不同的效果,希望能幫到你喔

定義Arduino Flash Partition

在Arduino 的工程目錄中,增加一個 partitions.csv 文字檔案,內容範例如下 # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, o...