Забудьте про бесконечный клик по кнопкам. Используйте датчик угла поворота в качестве пульта управления в меню вашего девайса, например навигация «вверх/вниз» или «влево/вправо».
Энкодер так же поможет задавать параметры для настройки устройства — установить яркость светодиодной ленты или изменить скорость вращения мотора.
Не перепутайте сенсор угла поворота с потенциметром. В отличии от переменного резистора, энкодер не имеет границ по вращению — крутите ручку до бесконечности.
В основе модуля расположен инкрементный энкодер. Датчик угла поворота преобразует вращение ручки в электрические сигналы.
При вращении вала, энкодер формирует по импульсу на контактах A
и B
. При повороте по часовой стрелке сигнал появляется сначала на контакте А
, затем на B
. При вращении против часовой — выходы меняются местами.
Количество импульсов на контактах пропорционально углу поворота.
Подключите энкодер к любым цифровым контактам на плате Iskra JS.
Для быстрой сборки используйте Troyka Shield.
Чтобы полностью избавиться от проводов, возьмите Troyka Slot Shield.
Для упрощения работы с датчиком угла поворота воспользуемся библиотекой Encoder.
В качестве примера при вращении ручки энкодера будем выводить текущий шаг и угол поворота.
var pulse = 0; var step = 0; require("Encoder").connect(P3,P6,function (direction) { pulse += direction; if (pulse % 4 === 0) { step = pulse / 4; print("step: " + step); } });
Основой модуля выступает инкрементный энкодер EC12E24204A9, который преобразовывает вращательное движение вала в электрические сигналы.
При каждом вращении ручки, датчик угла поворота формирует по одному импульсу на контактах A
и B
. Сигналы смещены по времени относительно направления вращения.
Количество импульсов на любом из контактов пропорционально углу поворота. А за счёт дублирование сигналов в смещении по времени, легко определить направления вращения.
На модуле выведено две пары Troyka-контактов.
Нижняя группа
A
, сигнализирующая о вращении энкодера. Линия A
смещена по времени относительно линии B
. Подключите к цифровому пину микроконтроллераВерхняя группа
B
, сигнализирующая о вращении энкодера. Линия B
смещена по времени относительно линии A
. Подключите к цифровому пину микроконтроллера.