このライブラリはArduino Unoなどでロータリーエンコーダを簡単に使用できるようにするためのライブラリです.
動作確認は秋月電子のEC12PLRGBSDVBF-D-25K-24-24C-61で行いました.
サンプルプログラムは こちら
- RotaryEncoder.h
- RotaryEncoder.cpp
#include "RotaryEncoder.h"
- 使用するピン番号をdefineします
#define PIN_A 2
#define PIN_B 3
- RotaryEncoderを定義し,初期化します
RotaryEncoder encoder = RotaryEncoder(PIN_A, PIN_B);
int val = encoder.getRotationValue();
- 値の最大値と最小値を設定
encoder.setMaxValue(255);
encoder.setMinValue(0);
- 1度にどれだけ値を増減させるかを設定
encoder.skipValue = 4;
例えばこのように設定すると,値は 0,4,8, ...
と増え, 0,-4,-8,...
と減少します.
- 値のローテーション
encoder.isRotateValue = true;
例えば最大値が10,最小値が0のとき
...,9,10,0,1,...
と増加し,...,1,0,10,9,...
と減少するようになります.