โมดูล Rotary หมุนรับค่า 360 องศา Digital Rotary Encoder Module
โมดูล Rotary หมุนรับค่า 360 องศา Digital Rotary Encoder Module
Rotary encoder เป็นอุปกรณ์ที่แปลงการหมุน (360 องศา) เป็นสัญญาณทางไฟฟ้า เพื่อใช้ในการปรับค่าของการทำงานของอุปกรณ์ ซึ่งทำงานต่างจาก Potentiometer คือ สามารถหมุนได้ต่อเนื่องไม่มีสุดปลายในแต่ละด้าน
ตัวอย่างการใช้งาน
Vcc -> 5V
GND -> GND
DT -> pin3
CLK -> pin4
ตัวอย่างCode
/* Read Quadrature Encoder
* Connect Encoder to Pins encoder0PinA encoder0PinB and +5V.
*
* Sketch by max wolf / www.meso.net
* v. 0.1 - very basic functions - mw 20061220
*
*/
int val;
int encoder0PinA = 3;
int encoder0PinB = 4;
int encoder0Pos = 0;
int encoder0PinALast = LOW;
int n = LOW;
void setup() {
pinMode (encoder0PinAINPUT);
pinMode (encoder0PinBINPUT);
Serial.begin (9600);
}
void loop() {
n = digitalRead(encoder0PinA);
if ((encoder0PinALast == LOW) && (n == HIGH)) {
if (digitalRead(encoder0PinB) == LOW) {
encoder0Pos--;
} else {
encoder0Pos++;
}
Serial.println (encoder0Pos);
}
encoder0PinALast = n;
}
By rotating the rotary encoder can be counted in the positive direction and the reverse direction during rotation of the output pulse frequency unlike rotary potentiometer counter which species rotation counts are not limited. With the buttons on the rotary encoder can be reset to its initial state that starts counting from 0.