以前にSkymemoSにエンコーダをつけようとエンコーダキットを購入して失敗しました。その後Aliexpressをさまよっていたら、こんな小さなロータリーエンコーダーを発見したので買ってみました。



届いたのがこちら。大きさはΦ15mm 高さ17mm。指先くらいの大きさです。これで4096カウントあるんだから恐れ入ります。ほんとに使えるのかな。
DSC_5187

赤経と赤緯用で2つ購入。ケーブルはデフォルトは15cmですが、赤緯は軸の回転に対応する必要があるので長くして、とお願いしたら+$1で45cmにしてくれました。フラットケーブルはゴムのような靭やかさで、取り回しは楽そうです。
DSC_5185

ピン配はこの通り。お店のウェブサイトから拝借。
H3fbf537835bd46afbab4f5e8d57e65e1W


いつものESP32で、値が読めるように設計します。電源はESP32のボードに乗っているMicro USBから取ります。このエンコーダは3.3Vでも動くみたいですが、一応5Vが推奨なので5V入力にして、5->3.3Vのレベルコンバータを間にはさみます。信号は一方向なので正直抵抗で分圧するのでも十分だと思いますが、まぁ念の為。
SkymemoSの電源もここから供給できるようにUSB-Aコネクタも付けておきます。

エンコーダの値は外部割り込みで読み込みますが、ESP32で外部割り込みが指定できるピンは0-15という説とどれでもOKという説があり、どちらが正しいかわからないためとりあえず番号の低いピンに割り当て。
キャプチャ

基板制作は、Seeed Studioの送料込み$7.9サービスが終わってしまってどうしようかな、と思っていたところ、PCBwayというところが安いという情報を見つけました。ここで作ることにしようか、とも思いましたが、回路的にこれだけなので、今回はユニバーサル基板で手作りすることにします。