Страница 2 из 2

блок для Энкодера.

Добавлено: 06.01.2018{, 21:58}
pan
Изображение Изображение Изображение
*******************************************************************************************************************
блок отслеживает направление вращения энкодера, выдавая импульс на соответствующем выводе
так же есть блок в котором есть выход "count" на котором ведется подсчет количества "щелчков"
считает как в "+" так и в "-"

это значение можно "обнулить" подав сигнал на вход "zero"

в архиве блоки myENCDR2 и myENCDR3 работают абсолютно одинаково, разница лишь в реализации кода.

полное описание , работа и подключение есть здесь
с блоками есть небольшие примеры программ для теста.

в блоке есть настройки которые нужно установить "под себя"

номер прерывания - например для УНО , НАНО прерывание 0 - соответствует пину номер 2.
тоесть указав 0 в этом параметре, один из выводов энкодера нужно подключить ко 2 пину ардуино.
пины и прерывания некоторых платПоказать
Изображение
не путайте номер ПРЕРЫВАНИЯ с номером ПИНА

второй вывод энкодера подключается к любому цифровому пину и номер этого пина указывается во втором параметре.

блок для Энкодера.

Добавлено: 06.04.2018{, 07:22}
bamik
Есть маленькая ошибочка в коде. Если энкодер крутить ну ооочень быстро, то на выходах up и dn будут 1, как я понимаю. Защиты от дребезга тут нет, потому вполне возможна такая ситуация.
 ! Сообщение из: модератор
читаем правила размещения блоков

блок для Энкодера.

Добавлено: 06.04.2018{, 08:24}
pan
bamik писал(а):
06.04.2018{, 07:29}
то на выходах up и dn будут 1
не правильно понимаете. защита от дребезга (программная) считаю это самой не нужной вещью, она умышленно не делалась.
лишний код и заторможенность обработки.
далее, блок на одном прерывании и не предназначен для ооооочень быстрого вращения.
если вы переходили по ссылке с полным описанием, там есть схема, на которой указаны конденсаторы от дребезга.
с ними прекрасно работает.
по поводу центральной кнопки... я не нашел нужным добавлять лишний код в блок, поскольку центральная кнопка энкодера -
это просто обычная кнопка, которая может подавать как +питания так и - .

п.с. вверху красными буковками написаны правила, если не заметили.
свои блоки оформляйте отдельно.

блок для Энкодера.

Добавлено: 06.04.2018{, 09:22}
bamik
pan писал(а):
06.04.2018{, 08:24}
п.с. вверху красными буковками написаны правила, если не заметили.
свои блоки оформляйте отдельно.
Хорошо, так и сделаю. Просто думал, что это небольшое дополнение к Вашему проекту. В основе код Ваш.
ЗЫ: Кнопка является элементом конструкции, потому блок, описывающий эту конструкцию, по моему мнению должен содержать и обработку кнопки.
ЗЫЗЫ: Спасибо за разъяснения на счет дребезга. В других примерах такая защита тоже отсутствует.

блок для Энкодера.

Добавлено: 05.10.2018{, 20:33}
benic
Простой блок энкодера.
Подключать пины 3 и 4.
enc_inter_1_(CODE).ubi
(22.68 КБ) 182 скачивания

блок для Энкодера.

Добавлено: 05.10.2018{, 21:30}
ViktorPetrov
Защита от механического дребезга контактов на триггере Шмитта (74HC14) ,кто нибудь использовал? Как насчет вот такого шилда?
СпойлерПоказать
триггере Шмитта 74HC14.jpg
Восстанавливает импульс по фронту и спаду

блок для Энкодера.

Добавлено: 05.10.2019{, 21:11}
pan
много раз просили сделать блок "быстрее"
но сделать при этом хоть немного универсальным на тот момент не получалось.

недавно пришло вдохновение :smile171:
и написал блок. пока только для "ардуин" на atmega328.
один пин как обычно обязательно с прерыванием, второй любой, при этом используется прямой доступ к регистрам.
поэтому результат должен быть не хуже чем в блоках на двух прерываниях
блок тут