Навчальні конструктори та DIY електроніка

Модуль энкодера KY-040
Модуль энкодера KY-040

Модуль энкодера KY-040

Під замовлення

34,01 грн 27,21 грн

Немає в наявності

Артикул: 80217

Опис товару

Модуль энкодера

Пример скетча для Arduino:

// -----------------------------------------------------------------------------
// constants

const int                                 PinCLK   = 2;     // CLK энкодера
const int                                 PinDT    = 9;     // DT энкодера
const int                                 PinSW    = 8;     // кнопка энкодера (SW)

// глобальные переменные
volatile float                             frequency    = 99.0;

// Процедура, происходящая при прерывании
void isr ()  {
  static unsigned long lastInterruptTime = 0;
  unsigned long interruptTime = millis();
  // Если повторное прерывание произошло менее чем 5 мс назад, не учитываем его
  if (interruptTime - lastInterruptTime > 15) {
  if (!digitalRead(PinDT))
      frequency = (frequency - 0.05);
    else
      frequency = (frequency + 0.05);
    }
    lastInterruptTime = interruptTime;
  } // ISR


void setup() {
  Serial.begin(9600);
  pinMode(PinCLK,INPUT);
  pinMode(PinDT, INPUT);
  pinMode(PinSW, INPUT);
  attachInterrupt(0, isr, FALLING);   // прерывание 0 - на пине №2 платы Arduino UNO
  Serial.println("Start");
} // setup


void loop() {
  float lastCount = 0;
  while (true) {
      if (frequency != lastCount) {
          lastCount = frequency;
          Serial.print("frequency: ");
          Serial.println(frequency);
          }
      } // while
} //loop

Відгуки

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

Будьте першим, хто залишив відгук “Модуль энкодера KY-040”

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Подпишіться на новини

© HobbyTech 2016