Arduinoプログラミング
ライブラリ ButtonEvents
![](https://image.jimcdn.com/app/cms/image/transf/none/path/sef662617a094ec9f/image/i3124e6240524cfaf/version/1630217413/image.jpg)
プリセットカウンター(予定巻数設定)部分に問題が出た。
プリセット数を上昇させるには、UPボタンを1回押せば、
プリセット数が1増えるのだが、
プリセット数を1000にセットするにはUPボタンを1000回連打しなければならない。
ピックアップのコイル巻数は、5000〜10000程度だ。
1分間にボタンを300回連打しても、5000以上にセットするには相当時間がかかる。
そこで、ボタンの押し方で、数字が一気に増える機能を持たせることにした。
①.UPボタンを短く押した場合、プリセット数が1増加。
②.UPボタンををダブルクリックした場合、プリセット数が10増加。
③.UPボタンを押し続けた場合、ボタンを離すまで、高速でプリセット数が増加。
この条件を満たすスケッチ(プログラム)例を調べてみたが、
中々見つからず、諦めかけていたところ、
海外の方が作られた”ButtonEvents”というライブラリを発見。
(ライブラリとは、センサ等とArduinoの接続・制御を容易にしてくれるコード集)
早速、プログラムに使用。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/sef662617a094ec9f/image/i3ba6e7ddd1e3c41b/version/1630217952/image.png)
”ButtonEvents"は、優秀なライブラリで、
あっという間に希望通りのボタンの機能を実現。
ライブラリを使えば、シンプルなプログラムで、複雑な機能を実現できる。
Arduinoが世界中で、愛用されている理由が良くわかる。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/sef662617a094ec9f/image/i631d746d02ecc879/version/1630218932/image.jpg)
UPボタンを押し続けると、気持ち良く数字が上がっていく。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/sef662617a094ec9f/image/i5ec1cea126de1c7b/version/1630218907/image.jpg)
10秒押し続けると、1900ほどにプリセット数がアップ。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/sef662617a094ec9f/image/i0546054ddef7d70f/version/1630218876/image.jpg)
20秒ほど押し続けて、プリセット数を一気に3600にできた。
同様にDOWNボタンで、プリセット数を減らすこともできる。
これで、巻数設定を短時間で正確に行える。
ライブラリを使わずに、この機能を実現するのは今の自分には不可能。
手巻きピックアップワインダーの制御部分は、ほぼ完成。
これからモーターの選定を行うのだが、
価格や条件の合うDCモーターが、見つからず困っている。