Header Ads

ロータリーエンコーダの使い方


Arduinoでロータリーエンコーダーを使ってみましょう。ロータリーエンコーダは回転を調べる装置です。似たものにポテンショメータ(可変抵抗)があります。形もよく似ています。ポテンショメーターは、ある決まった角度の間で検出するのに対して、ロータリーエンコーダはずっと回し続けることができます。マウスのホイールなどに使われているようです。0~180度の間くらいでいいならポテンショメータの方が楽です。それ以上ならロータリーエンコーダになるでしょう。今回はKY-040のロータリーエンコーダモジュールを使います
ロータリーエンコーダーKY040

#1:つなぎ方

スペースが足りなかったのか、+の文字が5Vです。DT、CLKはデジタルピンに繋ぎます。どこでもいいですが、今回は3番、4番に繋ぎます。

#2:ブロック図


まず3番、4番はどちらも入力として使えるようにします。続いて、DTピンを記録しておくためのDTlast、回転の位置を記録しておくためのPosを作ります。さっきまでのDTの値と今のDTの値が違ったら回転したことが分かります。(詳しくはロータリーエンコーダの仕組みを調べてください。)そして、CLKとDTを比べて違うなら時計回り、そうでないなら反時計回りしたことがわかります。今回は、それぞれ動いた時に値が増減するようにしてあります。

動作の様子


Powered by Blogger.