Спецификация
| Что | Комментарии | |
|---|---|---|
| Идентификатор | REL_ROT_ENCODER | ![]() |
| Интерфейс | 3 GPIO | GPIO 1: сигнал A GPIO 2: сигнал B GPIO 3: сигнал SW (переключатель) |
| Предоставляет | dir | -1: против часовой стрелки 0: нет движения 1: по часовой стрелке |
| val | значение энкодера | |
| sw | 0: переключатель отпущен 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
)
