マウスでもダブルクリックやドラッグができるように、ただの押しボタンスイッチでもいろんなアクションをさせたいと思いました。
実装しようにもあまりいい方法が思いつかないんですよね。
1回状態が変化してから一定時間でどれだけ状態が変化したかで見るのはなんとなく分かりますが...
1つのボタンでいろんなアクションをしたいとき

マウスでもダブルクリックやドラッグができるように、ただの押しボタンスイッチでもいろんなアクションをさせたいと思いました。
実装しようにもあまりいい方法が思いつかないんですよね。
1回状態が変化してから一定時間でどれだけ状態が変化したかで見るのはなんとなく分かりますが...
Arduinoでセンサの値を受け取るなどのプロトタイピング的なことをすることは多いですが、そのときに嫌でもついてくるのが「信号処理」です。
別に生データを見るくらいなら特に気にすることもないのですが、それを使って解析するのであれば「それらしい値」が必要です。
自前でプログラムを書いてもいいのですが、面倒じゃないですか。
だったら素晴らしい有志の方が公開しているライブラリを使わない手はありません。
Arduino Zero や Arduino M0 が出てだいぶ経ちますが、未だに使いこなせていません。
というよりも資料が少なく、ライブラリも対応していないものがあったりまだまだ使いづらいのが現状です。
そんな中、最近になってようやく Arduino Zero 用のタイマー割り込みライブラリを見つけました。
なんとAdafruitが出しているじゃありませんか。
「これを使えば・・・!」と思ってダウンロードしてみるも、エラーを吐いて使えないという。
そんなわけで「じゃあ作っちゃおう」ということで自分なりに作ってみました。
TM1637は思った以上に便利で簡単に7セグを動かすことが出来ました。
7セグ+DPの6桁をこのIC1つで動かせるなんてすごい!と思っていたのですが、紹介したArduinoのライブラリでは4桁までしか対応できないことがわかりました。
また、DPを点灯させるのもちょっと苦労したのでそれらに対応できるように改造してみました。
以前、Arduinoの高速化のことを調べてたら便利だなあと思うプログラムが結構見つかりました。
そこで自分なりにライブラリにまとめてみました。
名前は「Utlityライブラリ」です、そのまんま(´・ω・`)
まぁ既に同じライブラリの名前があってかぶっているようなんですが、私は気にしません(オイ