====== Энкодер (Troyka-модуль) ====== Забудьте про бесконечный клик по кнопкам. Используйте [[amp>product/troyka-encoder?utm_source=man&utm_campaign=troyka-encoder&utm_medium=wiki|датчик угла поворота]] в качестве пульта управления в меню вашего девайса, например навигация «вверх/вниз» или «влево/вправо». {{ :продукты:troyka-encoder:troyka-encoder.4.jpg?nolink |}} Энкодер так же поможет задавать параметры для настройки устройства — установить яркость светодиодной ленты или изменить скорость вращения мотора. ===== Видеообзор ====== {{youtube>8teKxBifZ-c?large}} ===== Принцип работы ===== Не перепутайте сенсор угла поворота с [[amp>product/troyka-potentiometer?utm_source=man&utm_campaign=troyka-encoder&utm_medium=wiki|потенциметром]]. В отличии от переменного резистора, энкодер не имеет границ по вращению — крутите ручку до бесконечности. В основе модуля расположен инкрементный энкодер. Датчик угла поворота преобразует вращение ручки в электрические сигналы. При вращении вала, энкодер формирует по импульсу на контактах ''A'' и ''B''. При повороте по часовой стрелке сигнал появляется сначала на контакте ''А'', затем на ''B''. При вращении против часовой — выходы меняются местами. Количество импульсов на контактах пропорционально углу поворота. ===== Примеры для Espruino ===== ==== Схема подключения ==== Подключите энкодер к любым цифровым контактам на плате [[amp>product/iskra-js?utm_source=man&utm_campaign=troyka-encoder&utm_medium=wiki|Iskra JS]]. Для быстрой сборки используйте [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=troyka-encoder&utm_medium=wiki|Troyka Shield]]. {{ :продукты:troyka-encoder:troyka-encoder_espruino_troyka-shield.png?nolink |}} Чтобы полностью избавиться от проводов, возьмите [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-encoder&utm_medium=wiki|Troyka Slot Shield]]. {{ :продукты:troyka-encoder:troyka-encoder_espruino_troyka-slot-shield.png?nolink |}} ==== Пример работы ==== Для упрощения работы с датчиком угла поворота воспользуемся библиотекой [[https://www.espruino.com/Encoder|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); } }); ===== Элементы платы ===== {{ :продукты:troyka-encoder:troyka-encoder_annotation.png?nolink |}} ==== Энкодер ==== Основой модуля выступает инкрементный энкодер {{ :продукты:troyka-encoder:ec12e_datasheet.pdf |EC12E24204A9}}, который преобразовывает вращательное движение вала в электрические сигналы. При каждом вращении ручки, датчик угла поворота формирует по одному импульсу на контактах ''A'' и ''B''. Сигналы смещены по времени относительно направления вращения. Количество импульсов на любом из контактов пропорционально углу поворота. А за счёт дублирование сигналов в смещении по времени, легко определить направления вращения. ==== Troyka-контакты ==== На модуле выведено две пары Troyka-контактов. //Нижняя группа// * Сигнальный (A) — импульсная линия ''A'', сигнализирующая о вращении энкодера. Линия ''A'' смещена по времени относительно линии ''B''. Подключите к цифровому пину микроконтроллера * Питание (V) — соедините с рабочим напряжением микроконтроллера. * Земля (G) — соедините с землёй микроконтроллера. //Верхняя группа// * Сигнальный (B) — импульсная линия ''B'', сигнализирующая о вращении энкодера. Линия ''B'' смещена по времени относительно линии ''A''. Подключите к цифровому пину микроконтроллера. ===== Принципиальная и монтажная схемы ===== {{:продукты:troyka-encoder:troyka-encoder_schematic.png?direct&470 |}} {{:продукты:troyka-encoder:troyka-encoder_layout_top.png?direct&180 |}} {{:продукты:troyka-encoder:troyka-encoder_layout_bottom.png?direct&180 |}} ===== Характеристики ===== * Модуль: EC12E24204A9 * Тип: инкрементный * Количество шагов на оборот: 24 * Диаметр вала: 6 мм * Длина вала: 25 мм * Напряжение питания: 3.3–5 В * Габариты: 25,4×25,4 мм ===== Ресурсы ===== * [[amp>product/troyka-encoder?utm_source=man&utm_campaign=troyka-encoder&utm_medium=wiki|Энкодер (Troyka-модуль)]] в магазине * [[https://github.com/amperka/hardware-drawings/blob/master/troyka-encoder.svg|Векторное изображение модуля]] * {{ :продукты:troyka-encoder:ec12e_datasheet.pdf |Datasheet на датчик угла поворота EC12E24204A9}}