すっかりArduinoのプログラミングにはまってしまい、今度はロータリエンコーダを使って周波数を設定できるようにしてみました。前にタクトスイッチで周波数を選択できるようにしたのですが、短押しで周波数+ 長押しで桁移動、とさらにスタート周波数とストップ周波数を入力するには使えなくはないんですが、操作性にかなり問題がありました。
それでロータリエンコーダを使い、周波数設定を簡単にできるようにしてみました。できればスイッチ付きのエンコーダを使えば、もっとスムーズになるかも、
エンコーダの制御にはrotary.hの割り込み制御を使わさせていただきました。その関係でロータリエンコーダのピンは2と3の固定になります。
タクトSWはアナログピンのA2に配線しました。


DSC03334

DSC03335

まずエンコーダを回すとStart周波数が設定できます。そしてタクトSWを押すとStop周波数を設定できます。
SW長押しでリセットです。

動作は下記になります。



上記の改良版です。Youtubeのリンク先にスケッチを置いてあります。





しかしDG7EAOのアラライザにこんなにはまると思わなかった。このタイプのアナラザは精度はいまいちなんですけど、とにかくArudinoのプログラミングがとても楽しいです。