KY-040ロータリーエンコーダーモジュールは、回転数の制限なく回せるデジタル調整つまみです。クリック感のある1段階ごとに1ステップを数え、軸を押すとボタンとしても動作します。可変抵抗とは異なり、絶対位置ではなく回転量と回転方向を出力します。通常、1回転で20クリックあります。軸を回すと、CLKピンとDTピンに位相が90度ずれた2つの矩形波が発生し、どちらが先に変化するかで回転方向を判定します。CLK、DT、SW、+、GNDの5本のピンを備え、3.3–5 Vで動作します。CLKとDTにはプルアップ抵抗が搭載されています。一般的な接続では、+を5 V(ESP32とPicoでは3.3 V)に、CLKとDTを割り込み対応の2本のピン(Arduino UnoではD2とD3)に、SWをINPUT_PULLUPに設定したピンに接続します。接点でチャタリングが発生するため、チャタリング対策や割り込みを使うことで、クリックの取りこぼしを防ぎます。LCDやOLEDのメニュー操作、音量や明るさの調整、カウンター、ステッピングモーターの位置制御に使われます。

