Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Мы не обязываем Вас переходить по рекламным ссылкам, просто она должна отображаться у вас в браузере. Реклама размещена ненавязчиво, сверху и снизу страницы, на прочтение основного материала никак не влияет! Спасибо за понимание!

Набор блоков ЭНКОДЕР

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Лейтенант
Сообщения: 581
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 193
Откуда: Ярославль
Имя: Андрей

Набор блоков ЭНКОДЕР

#1

Сообщение Dryundel » 13.03.2019{, 23:00}

Сколько ни пытался найти удовлетворяющий меня блок энкодера, не получилось.
Выкладываю свои варианты. Здоровая критика приветствуется.
1.jpg
Скачать все одним архивом:
Энкодеры от Dryundel.ubl
(664.68 КБ) 367 скачиваний
Блоки написаны на основе библиотеки Encoder.h
Могут работать на любых пинах, но на пинах поддерживающих прерывание результат самый лучший.
***
Энкодер_импульсный_v1.0_(CODE).ubi
(119.81 КБ) 191 скачивание
Энкодер_импульсный_v1.1_(CODE).ubi
(135.99 КБ) 253 скачивания
2.jpg
2.jpg (6.11 КБ) 3882 просмотра
Эти два блока выдают тики на выходах 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

Энкодер_импульсный_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

Другие блоки для энкодера:
Тестер для энкодера
Блок энкодера для одноуровневого меню
Последний раз редактировалось Dryundel 02.09.2019{, 18:30}, всего редактировалось 2 раза.

Аватара пользователя
Dryundel
Лейтенант
Сообщения: 581
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 193
Откуда: Ярославль
Имя: Андрей

Набор блоков ЭНКОДЕР

#41

Сообщение Dryundel » 02.12.2019{, 08:54}

Олега, Вы попробовали 3.0.1 ?
Работает? Замораживает значение через En?

Олега
Рядовой
Сообщения: 3
Зарегистрирован: 09.01.2018{, 21:29}
Репутация: 0
Имя: Олег

Набор блоков ЭНКОДЕР

#42

Сообщение Олега » 02.12.2019{, 13:45}

Попробовал Plus v 3.0.1 Да!! этот действительно работает так как мне надо. Значения замораживаются. все отлично! Спасибо за блок. Удачи :smile9:

starik2000
Рядовой
Сообщения: 14
Зарегистрирован: 04.03.2020{, 11:40}
Репутация: 0
Имя: Павел

Набор блоков ЭНКОДЕР

#43

Сообщение starik2000 » 05.03.2020{, 22:16}

может кто поделится блоком енкодера на 8266. Сколько перепробовал - ни один не работает

Andrejka
Рядовой
Сообщения: 17
Зарегистрирован: 13.12.2018{, 19:40}
Репутация: 1
Имя: Андрей

Набор блоков ЭНКОДЕР

#44

Сообщение Andrejka » 06.03.2020{, 03:50}

starik2000 писал(а):
05.03.2020{, 22:16}
может кто поделится блоком енкодера на 8266. Сколько перепробовал - ни один не работает
Добрый день. Вот рабочий проект в FLPROG 6.31, правда IDE брал от FLROG 5.3 (V1.8.9).
Вложения
Тест ESP ENC+1306 (IDE F530).flp
(707.65 КБ) 20 скачиваний

Ответить

Вернуться в «Датчики и энкодеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей