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

53,29 

Очікується

Артикул: 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

Відгуки

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

Тільки покупці, які увійшли на сайт і вже купили цей товар, можуть залишати відгуки.