Энкодер поворотный с кнопкой
Характеристики
- Рабочее напряжение: 3 - 5В
- Диаметр ручки: 6мм (D-образная)
- Размер платы: 26*19мм
- Высота с платой: 29мм
- Монтажные отверстия: 2шт * 3мм
Скетч для проверки энкодера KY-040
int pinA = 6; // Подсоединить к CLK на KY-040
int pinB = 5; // Подсоединить к DT on KY-040
int pinbtn = 4; //Кнопка
int encoderPosCount = 0;
int pinALast;
int aVal;
boolean bCW;
void setup() {
pinMode (2, OUTPUT);
digitalWrite(2, LOW); //подадим землю на D2
pinMode (3, OUTPUT);
digitalWrite(3, HIGH); //подадим 5В на D3
pinMode (pinbtn, INPUT);
pinMode (pinA, INPUT);
pinMode (pinB, INPUT);
pinALast = digitalRead(pinA);
Serial.begin (9600);
}
void loop() {
aVal = digitalRead(pinA);
int btnVal = digitalRead(pinbtn);
if (btnVal == LOW)
Serial.println("Btn pressed");
if (aVal != pinALast) {
if (digitalRead(pinB) != aVal) {
encoderPosCount ++;
bCW = true;
} else {
bCW = false;
encoderPosCount--;
}
Serial.print ("Rotated: ");
if (bCW) {
Serial.println ("clockwise");
} else {
Serial.println("counterclockwise");
}
Serial.print("Encoder Position: ");
Serial.println(encoderPosCount);
}
pinALast = aVal;
}