Опис
Характеристики енкодера:
• Робоча напруга 3-15В
• Число імпульсів на оборот – 20
• Розміри 2х3х3 см
Схема підключення:

Приклад скетчу:
int pinA = 3; // номер виводу, підключений до CLK енкодеру
int pinB = 4; // номер виведення контролера, підключений до DT енкодеру
int encoderPosCount = 0;
int pinALast;
int aVal;
boolean bCW;
void setup() {
pinMode (pinA,INPUT);
pinMode (pinB,INPUT);
/* Зчитуємо значення на виведенні A і запам'ятовуємо його як останнє значення на цьому виводі */
pinALast = digitalRead(pinA);
Serial.begin (9600);
}
void loop() {
aVal = digitalRead(pinA);
if (aVal != pinALast){ // перевірка зміну значення на выводе А проти попереднім запам'ятаним, що означає, що вал повернувся
// а щоб визначити напрямок обертання, нам знадобиться висновок Ст.
if (digitalRead(pinB) != aVal) { // Якщо висновок A змінився першим - обертання за годинниковою стрілкою
encoderPosCount++;
bCW = true;
} else { // інакше B змінив свій стан першим - обертання проти годинникової стрілки
bCW = false;
encoderPosCount--;
}
Serial.print ("Обертання:");
if (bCW) {
Serial.println ("за годинниковою стрілкою");
}else{
Serial.println("проти годинникової стрілки");
}
Serial.print("Положення енкодеру:");
Serial.println(encoderPosCount);
}
pinALast = aVal;
}






Відгуки
Відгуків немає, поки що.