Опис
Характеристики енкодера:
• Робоча напруга 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; }
Відгуки
Відгуків немає, поки що.