Описание блока:
Encoder – подсчитывает импульсы от датчиков положения вала, датчиков двигателя и других датчиков угла поворота.
Encoder использует квадратурный метод подсчета импульсов, благодаря чему, обеспечивается определения направления вращения.
В параметрах пользователя необходимо указать 2 пина к которым подключен энкодер. Есть три варианта подключения:
1. Лучший результат – используются два пина поддерживающие прерывания.
2. Хорошая производительность – один из пинов поддерживает прерывания.
3. Низкая производительность – оба пина не поддерживают прерывания.
Не рекомендуется использовать пины к которым подключена светодиодная индикация (в большинстве случаев Pin 13)!!!
Пины поддерживающие прерывания на различных платах Arduino:
UNO – Pin 2,3
LEONARDO – Pin 0,1,2,3
MEGA – Pin 2,3,18,19,20,21
DUE – все
При использовании длинных проводов между энкодером и платой можно поставить подтягивающий резистор 1К.
При подаче высокого уровня на вход Zero – Encoder принимает значение – 0 (нуль).
Значения на выходе блока EncData могут быть положительными и отрицательными.
Использование основных функций библиотеки:
Encoder myEnc(Pin1 , Pin2) – создаем объект енкодер и указываем пины, к которым будут подаваться импульсы.
myEnc.raed() – возвращает значение энкодера.
myEnc.write(EncData) – устанавливает значение энкодера.
Библиотека и описание взято вот от сюда http://www.pjrc.com/teensy/td_libs_Encoder.html
В блоке используются прерывания. Библиотека SoftSerial совместно с этим блоком не работает.
Блок тестировался с Arduino uno и энкодером 5 импульсов на один оборот на скорости 1500 об/минуту.
Убедительная просьба оставить коментарии после использования блока.
Кто ни будь нашел выход, для esp32 ?
Пробовал различные библиотеки Encoder, Encoder-1.4.2, Encoder-1.4.1 и т.д. однако под ESP32 так и не пошло. Есть какое ни будь решение ?
Очень нужный блок, но возник вопрос при прокрутке отображается за один щелчке 2 импульса. Как исправить или настроить не понятно. Использую 2 и 3 пины на уно.
Как оказалось, на один поворот энкодера, блок выдаёт два импульса. Исправить код мозгов не хватило, поэтому на выходы блока поставил два ТТ триггера. Всё заработало.
На ардуиновском энкодере не работает.
Доброго времени суток.
Очень замечательный блок, но хотелось бы иметь возможность записать в него данные.
Что бы отсчет не начинался с “нуля” каждый раз после выключения.
В версии 5.3.0. опять опять появилась проблема с библиотекой “Encoder”. После танцев с бубном, скачал библиотеку по адресу http://www.pjrc.com/teensy/arduino_libraries/Encoder.zip, распаковал ее в папку Encider, и на правах администратора перенес эту папку по адресу C:\Program Files (x86)\FLProg\ideV3\libraries.
Заработало.
Добрый вечер вы можете сказать мне с какой переодичностью оно сбрасивает значение к нулю ?
Здравствуйте! Блок работает отлично, но кратность переключения равна четырем. Подскажите, есть возможность ее изменить?
Извините, за предыдущий комментарий. Все заработало отлично после иного полключения энкодера. Он без каких либо маркировок, оказывается третью ногу на минус, 1-я и 2-я – считываем импульсы. Считает теперь на увеличение и уменьшение, но все равно кратно 4.
Использую энкодер на 24 импульса на оборот. Значения считаются кратно 4 и только на увеличение. При вращении в другую сторону, значение “дергается” пытаясь снова увиличится на пару единиц.
Единственный блок который заработал без проблем. Мне нужно, чтобы энкодер работал в диапазоне от 0 до 255, не могли бы Вы подредактировать блок для меня. Спасибо.
Подскажите пожалуйста,если есть скетч реально работающий, его можно загрузить в программу и увидеть уже в виде символов как в самой программе?
Здравствуйте как добавить pin подключаемые к энкодеру не как не могу сообразить если можно по подробней
В портативной версии все компилируется отлично.
Schlosser, я думаю, надо по ссылке скачать библиотеку, подсунуть ее Arduino IDE, и все заработает.
При компилировании проекта выскакивает сообщение (Не удалось выгрузить библиотеку Enkoder), потом ( Не найдена библиотека Enkoder.h) Блок установлен в Блоки пользователя. FlProg 3.0.3