IC-7400 外部VFO その3

やっと AliExpress に注文したロータリーエンコーダーが到着。連休前に来れば、と思って待っていたのですが、間に合いませんでした。全市全郡コンテストに間に合えばよいのですが、どうかな。エンコーダーの外観細部は値段相応といった感じですが、使用には支障なく、回転もひっかかりなど無くスムーズです。ただしクリックが付いていたのは想定外でした。まあ、弱めのクリックなのでこれで使います。

 

つまみの部分がプラスチック製でとても安っぽい・・。他の部分は良いのだけど。

f:id:cruzio:20210924184355j:plain

今回注文した店とは別のページにエンコーダーの詳しい仕様が書いてあります。https://ja.aliexpress.com/item/32991954757.html?spm=a2g0s.8937460.0.0.6ddc2e0eHYsYZl 

購入したのは4ピンで 12V を電源とし、A と B の端子に High で 12V が出るタイプになる。電圧計を当ててぐりぐり回してみたところちゃんと電圧が出てくる。Arduino 側は Encorder.h ライブラリ ( https://www.pjrc.com/teensy/td_libs_Encoder.html ) を使うのだが、このライブラリではエンコーダー入力は PULL UP 状態で接続する仕様となっている。エンコーダーが出力する 12V を単に抵抗分圧で使おうと思っていたが、そうすると論理が逆になってしまう。が、A/B 入力のシーケンスは正しいので試しに、抵抗分圧で試してみると問題なく使用できた。抵抗は 3.9KΩと 5.6KΩでちょうどいい電圧になる。
ところで、ライブラリのページに、エンコーダーの接続に使用するピンは割り込みに対応したピンを使う方がパフォーマンスが良い、と書いてある。デフォルトの 9 と 10 を使っていたので、2 と 3 で接続して試してみたが、特に変化はわからなかった。手で回すエンコーダー程度では特に影響は無いのかも知れない。外部VFOプログラムでは 2 を CI-V 受信で使用しているが、2 である必要は無いと思うので、ピンアサインを変更して 2 と 3 はエンコーダーに割当ようと思う。

今まで秋月エンコーダーを仮組みしていたところに、中華エンコーダーを移設して試したところ、正常に動いたので、手狭になったブレッドボードを大きいのに変更した。が、今度は7セグが化け化けになってしまってまともに動作しない。最初に7セグを試したときとまったく同じ症状だが、これにはハマった。7セグに配線する電線が断線していないかとか調べたが問題はない。が、GND の配線が遠回りだったのでもしやと思い、Arduino の別のGNDピンから直接7セグのGNDに配線してみると見事に治った。GNDのインピーダンスが高いと誤動作するようである。この7セグモジュールはわりとセンシティブな感じです。

f:id:cruzio:20210924184552j:plain

茶色の線でGNDを直接接続したら直りました

(続く)