Ротационният енкодер е инструмент, с който може да се отчита въртене по посока на часовниковата стрелка и обратно. Механичното въртене се преобразува в изходен сигнал, който определя посоката (DT пин) и инпулсите (CLK пин). Чрез притискане на оста, сработва вграденият бутон, като изходния сигнал може да бъде отчетен чрез SW пин.
Спецификация:
- Модел: KY-040;
- Работно напрежение: 3.3 - 5v;
- Позиции в един оборот: 20;
- Бутон, сработващ при натиск по оста;
- Размери на платката: 21 x 18.5 мм;
- Тегло: 8 г.
Пинове:
- GND - маса/земя.
- VCC - захранване 3.3 - 5 v
- SW - при натискане на бутона, изходния сихнал на този пин е 0 (ниско ниво).
- DT - Този изход се използва за определяне на посоката на въртене.
- CLK - При всяко щракване в една от дветеа посока, този пин преминава от ВИСОКО към НИСКО и обратно.
Допълнителна информация и урок за използване на сензора с Ардуино (на английски език):
https://peppe8o.com/ky-040-and-arduino-rotatory-encoder-wiring-and-code/
Примерна програма:
#define CLK 4
#define DT 3
#define SW 2
int counter = 0;
int currentStateCLK;
int lastStateCLK;
String currentDir = "";
unsigned long lastButtonPress = 0;
void setup() {
Serial.begin(9600); // Setup Serial Monitor
pinMode(CLK, INPUT); // Set encoder pins as inputs
pinMode(DT, INPUT);
pinMode(SW, INPUT_PULLUP);
lastStateCLK = digitalRead(CLK); // Read the initial state of CLK
}
void loop() {
currentStateCLK = digitalRead(CLK); // Read the current state of CLK
if (currentStateCLK != lastStateCLK && currentStateCLK == 1) {
if (digitalRead(DT) != currentStateCLK) {
counter --;
currentDir = "CCW";
} else {
counter ++;
currentDir = "CW";
}
Serial.print("Direction: ");
Serial.print(currentDir);
Serial.print(" | Counter: ");
Serial.println(counter);
}
lastStateCLK = currentStateCLK;
int btnState = digitalRead(SW);
if (btnState == LOW) {
if (millis() - lastButtonPress > 50) {
Serial.println("Button pressed!");
}
lastButtonPress = millis();
}
delay(1);
}
KY-040 ротационен енкодер 360°
- Производител: China
- Код на продукта: 1341
- Наличност: 24
-
5.80 лв.
с вкл. ДДС
-
- 5 или повече 5.50 лв.
Свързани продукти
Копче за енкодер/потенциометър
Копче за енкодер/потенциометър.Спецификация:Външен диаметър: ф15мм;Височина: 16.7мм. Диам. вътр. отв..
2.40 лв.-