Набор блоков ЭНКОДЕР
Добавлено: 13.03.2019{, 23:00}
Тема устарела и морально и технически.
Новый блок EncoderPro здесь.
Сколько ни пытался найти удовлетворяющий меня блок энкодера, не получилось.
Выкладываю свои варианты. Здоровая критика приветствуется. Скачать все одним архивом: Блоки написаны на основе библиотеки Encoder.h
Могут работать на любых пинах, но на пинах поддерживающих прерывание результат самый лучший.
*** Эти два блока выдают тики на выходах Up и Down (Вперед / Назад)
Отличие Энкодер_импульсный_v1.1 в том, что в нем можно настроить количество импульсов выдаваемых энкодером за один физический шаг.
Описание:
Энкодер_импульсный_v1.0
Энкодер_импульсный_v1.1
Другие блоки для энкодера:
Тестер для энкодера
Блок энкодера для одноуровневого меню
Новый блок EncoderPro здесь.
Сколько ни пытался найти удовлетворяющий меня блок энкодера, не получилось.
Выкладываю свои варианты. Здоровая критика приветствуется. Скачать все одним архивом: Блоки написаны на основе библиотеки Encoder.h
Могут работать на любых пинах, но на пинах поддерживающих прерывание результат самый лучший.
*** Эти два блока выдают тики на выходах Up и Down (Вперед / Назад)
Отличие Энкодер_импульсный_v1.1 в том, что в нем можно настроить количество импульсов выдаваемых энкодером за один физический шаг.
Описание:
Энкодер_импульсный_v1.0
СпойлерПоказать
Энкодер импульсный v1.0
EncTic v1.0 - отслеживает импульсы датчиков энкодера, используея квадратурный медот подсчета импульсов и определяет напавление вращения.
В зависимости от направления вращения, на выходах Up или Down формируются импульсы, соответствующие одному физическому шагу энкодера..
В параметрах пользователя необходимо:
1. Указать 2 пина к которым подключены CLK и DT энкодера.
Есть три варианта подключения (из описания библиотеки):
1. Лучший результат - используются два пина поддерживающие прерывания.
2. Хорошая производительность - один из пинов поддерживает прерывания.
3. Низкая поизводительность - оба пина не поддерживают прерывания.
Ограничения:
1, Не рекомендуется использовать пины к которым подключена светодиодная индикация (в большинстве случаев Pin 13)!!!
2. Если одним энкодером задействованы два пина пина поддерживающие прерывание, то в проекте нельзя использовать более одного блока. Если хотя бы один из пинов к которому подключен энкодер не поддерживает прерывание, ограничение снимается.
При использовании длинных проводов между энкодером и платой можно поставить подтягивающий резистор 1К.
Пины поддерживающие прерывания на различных платах Arduino:
UNO - Pin 2,3
LEONARDO - Pin 0,1,2,3
MEGA - Pin 2,3,18,19,20,21
DUE - все
На основе библиотеки http://www.pjrc.com/teensy/td_libs_Encoder.html
EncTic v1.0 - отслеживает импульсы датчиков энкодера, используея квадратурный медот подсчета импульсов и определяет напавление вращения.
В зависимости от направления вращения, на выходах Up или Down формируются импульсы, соответствующие одному физическому шагу энкодера..
В параметрах пользователя необходимо:
1. Указать 2 пина к которым подключены CLK и DT энкодера.
Есть три варианта подключения (из описания библиотеки):
1. Лучший результат - используются два пина поддерживающие прерывания.
2. Хорошая производительность - один из пинов поддерживает прерывания.
3. Низкая поизводительность - оба пина не поддерживают прерывания.
Ограничения:
1, Не рекомендуется использовать пины к которым подключена светодиодная индикация (в большинстве случаев Pin 13)!!!
2. Если одним энкодером задействованы два пина пина поддерживающие прерывание, то в проекте нельзя использовать более одного блока. Если хотя бы один из пинов к которому подключен энкодер не поддерживает прерывание, ограничение снимается.
При использовании длинных проводов между энкодером и платой можно поставить подтягивающий резистор 1К.
Пины поддерживающие прерывания на различных платах Arduino:
UNO - Pin 2,3
LEONARDO - Pin 0,1,2,3
MEGA - Pin 2,3,18,19,20,21
DUE - все
На основе библиотеки http://www.pjrc.com/teensy/td_libs_Encoder.html
Энкодер_импульсный_v1.1
СпойлерПоказать
Энкодер импульсный v1.1
EncTic v1.1 - отслеживает импульсы датчиков энкодера, используея квадратурный медот подсчета импульсов и определяет напавление вращения.
В зависимости от направления вращения, на выходах Up или Down формируются импульсы, соответствующие одному физическому шагу энкодера..
В параметрах пользователя необходимо:
1. Указать 2 пина к которым подключены CLK и DT энкодера.
2. Установить значение TicStep соответствующее количеству тиков на один физический шаг энкодера.
Пример: При использовании энкодера EC-11 ( KY-040) на один физический шаг EncTic выдает 2 тика, поэтому надо поставить TicStep = 2.
Есть три варианта подключения (из описания библиотеки):
1. Лучший результат - используются два пина поддерживающие прерывания.
2. Хорошая производительность - один из пинов поддерживает прерывания.
3. Низкая поизводительность - оба пина не поддерживают прерывания.
Ограничения:
1, Не рекомендуется использовать пины к которым подключена светодиодная индикация (в большинстве случаев Pin 13)!!!
2. Если одним энкодером задействованы два пина пина поддерживающие прерывание, то в проекте нельзя использовать более одного блока. Если хотя бы один из пинов к которому подключен энкодер не поддерживает прерывание, ограничение снимается.
При использовании длинных проводов между энкодером и платой можно поставить подтягивающий резистор 1К.
Пины поддерживающие прерывания на различных платах Arduino:
UNO - Pin 2,3
LEONARDO - Pin 0,1,2,3
MEGA - Pin 2,3,18,19,20,21
DUE - все
На основе библиотеки http://www.pjrc.com/teensy/td_libs_Encoder.html
EncTic v1.1 - отслеживает импульсы датчиков энкодера, используея квадратурный медот подсчета импульсов и определяет напавление вращения.
В зависимости от направления вращения, на выходах Up или Down формируются импульсы, соответствующие одному физическому шагу энкодера..
В параметрах пользователя необходимо:
1. Указать 2 пина к которым подключены CLK и DT энкодера.
2. Установить значение TicStep соответствующее количеству тиков на один физический шаг энкодера.
Пример: При использовании энкодера EC-11 ( KY-040) на один физический шаг EncTic выдает 2 тика, поэтому надо поставить TicStep = 2.
Есть три варианта подключения (из описания библиотеки):
1. Лучший результат - используются два пина поддерживающие прерывания.
2. Хорошая производительность - один из пинов поддерживает прерывания.
3. Низкая поизводительность - оба пина не поддерживают прерывания.
Ограничения:
1, Не рекомендуется использовать пины к которым подключена светодиодная индикация (в большинстве случаев Pin 13)!!!
2. Если одним энкодером задействованы два пина пина поддерживающие прерывание, то в проекте нельзя использовать более одного блока. Если хотя бы один из пинов к которому подключен энкодер не поддерживает прерывание, ограничение снимается.
При использовании длинных проводов между энкодером и платой можно поставить подтягивающий резистор 1К.
Пины поддерживающие прерывания на различных платах Arduino:
UNO - Pin 2,3
LEONARDO - Pin 0,1,2,3
MEGA - Pin 2,3,18,19,20,21
DUE - все
На основе библиотеки http://www.pjrc.com/teensy/td_libs_Encoder.html
Другие блоки для энкодера:
Тестер для энкодера
Блок энкодера для одноуровневого меню