Перейти к содержанию
Материалы раздела

Спецификация

ЧтоКомментарии
ИдентификаторREL_ROT_ENCODER
Интерфейс3 GPIOGPIO 1: сигнал A
GPIO 2: сигнал B
GPIO 3: сигнал SW (переключатель)
Предоставляетdir-1: против часовой стрелки
0: нет движения
1: по часовой стрелке
valзначение энкодера
sw0: переключатель отпущен
1: переключатель нажат
Свойстваnone
Обратные вызовы?yes

Примечания:

  • Этот датчик требует аппаратного устранения дребезга

Код

-- Подключить энкодер. Назначения сигналов:
-- A: GPIO26
-- B: GPIO14
-- SW: GPIO21
s = sensor.attach("REL_ROT_ENCODER", pio.GPIO26, pio.GPIO14, pio.GPIO21)

-- Зарегистрировать обратный вызов. Обратный вызов выполняется при изменении любого свойства датчика.
s:callback(
   function(data)
      if (data.dir == -1) then
         print("против часовой, значение "..data.val)
      elseif (data.dir == 1) then
         print("по часовой, значение "..data.val)
      end

      if (data.sw == 1) then
         print("переключатель включен")
      elseif (data.sw == 0) then
         print("переключатель выключен")
      end
   end
)