Тёмный
No video :(

Подключаем энкодер к ардуино 

Паяльник TV
Подписаться 343 тыс.
Просмотров 38 тыс.
50% 1

С помощью энкодера удобно производить регулировку параметров цифровых электроприборов. В этом видеоролике описан принцип работы икрементального энкодера и предложены варианты программной обработки данных от энкодера с помощью Arduino.
Ссылки:
Arduino UNO урок 6 - Энкодер (код не всегда работает хорошо): cxem.net/arduin...
Скетчи:
Немного изменённый код с сайта (вместо яркости число): enc0.ino
Код для плавного энкодера от муз. центра: enc1.ino
Код для энкодера с дискретными углами поворота: enc2.ino

Опубликовано:

 

29 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 45   
@JekaMandra
@JekaMandra 4 года назад
Спасибо. Только ваш код и заработал как надо!
@user-tx1ho6tt8l
@user-tx1ho6tt8l 7 лет назад
Спасибо за видео есть ещё способ использование энкодера в ардуино - используя прерывание, мне кажется это более правильный способ #include LiquidCrystal_I2C lcd(0x3F, 20, 4); int Count=0; const int PinCLK = 2; const int PinDT = 4; volatile boolean TurnDetected; volatile boolean up; void encoder(){ volatile boolean CLK = digitalRead(PinCLK); volatile boolean DT = digitalRead(PinDT); up=((!CLK && DT)||(CLK && !DT)); TurnDetected = true; } void setup() { lcd.begin(); lcd.clear(); lcd.home(); pinMode(PinCLK, INPUT); pinMode(PinDT, INPUT); attachInterrupt(0,encoder,CHANGE); } void loop() { lcd.setCursor (0,0); lcd.print(Count); lcd.print(" "); if (TurnDetected) { if (up){ Count++; } else Count--; TurnDetected = false; } }
@Evtomax
@Evtomax 7 лет назад
Энкодер, который крутится вручную, - не такой критически важный и скоростной элемент, чтобы использовать прерывания. На платах Arduino прерывания можно навесить чаще всего только на 2 пина.
@user-tx1ho6tt8l
@user-tx1ho6tt8l 7 лет назад
тут я немного не соглашусь - если основной задачей ардуино будет обработка энкодера - то тогда да - смысла использовать прерывания нет - но если написать скетч который выполняет очень много задач в цикле, а энкодер используется допустим для подстройки и очень редко - то лучше использовать прерывание иначе реакция на энкодер будет очень медленной - но и ограничение в 2 прерывание в принципе можно обойти
@Evtomax
@Evtomax 7 лет назад
Если ввод начинает тормозить, то опрос устройств ввода по прерываниям таймера.
@Sherkhan_61
@Sherkhan_61 5 лет назад
@@user-tx1ho6tt8l, можете на примере скетча научить как это делать? Начинающий. Еще не сталкивался с этим финтом.
@k_alexis79
@k_alexis79 4 года назад
Ваш код не эффективен, т.к. прибавление и вычитание у вас происходит в основном цикле и счёт происходит не быстрее чем частота циклов. Это должно быть к коде прерывания вместо того, что у вас. Вывод на экран нет необходимости делать каждый цикл, достаточно раз в 100-200 мс. У вас это сильно тормозит цикл.
@SERVICE_KARELIA
@SERVICE_KARELIA 3 месяца назад
В прямом направлении по положительному фронту, а в обратном - по отрицательному?
@Rin_Media
@Rin_Media 5 лет назад
А как быстро можно крутить что бы Ардуино смог считать импульсы без пропусков? мне нужно сделать счётчик импульсов, и энкодер в нём будет крутиться очень быстро. Точно не знаю, но несколько десятков килогерц думаю точно будет... Сможет ли он считать эти данные на таких скоростях? И вообще какая максимальная скорость считывания у Ардуино? Видео полезное. 👍👍👍. Спасибо за него. Ставлю большой ЛАЙК
@payalnik_TV
@payalnik_TV 7 лет назад
Скетчи можно скачать в теме поддержки на форуме. Там же все вопросы по работе схемы: forum.cxem.net/index.php?/topic/177136-подключаем-энкодер-к-ардуино/ Раздел с сотнями проектов на Arduino на сайте: cxem.net/arduino/arduino.php
@Rus_slan
@Rus_slan 4 года назад
Хорошо и познавательно. А на счёт управление блоком реле с помощью энкодера. Подскажите?
@hagenh3365
@hagenh3365 4 года назад
Заходим в ардуино.иде управление библиотеками, набираем "encoder", находим encoder step counter, ставим и наслаждайтесь. Да vcc надо подключить к +5v тоже.
@user-ri4bs6zj8p
@user-ri4bs6zj8p 7 лет назад
А выложите пожалуйста урок про решение уравнений равновесия схемы на основе законов Ома и Кирхгофа. А то в интернете не нашёл информации на примитивно-понятном языке. Заранее спасибо
@user-live_fair
@user-live_fair 4 года назад
Что необходимо изменить в скетче для появления десятичного значения? То есть надо изменять значения шагом 0,25.
@NovaCat777
@NovaCat777 7 лет назад
Проверил все варианты, не подходят для моего энкодера. У моего не 4е шага за раз, а два, то есть фиксированные позиции 00 и 11. По приведённым кодам у меня счет по два шага с кодом для плавного и с последним кодом считает не на каждый тик, а через один. Как подправить? Разобрался. Надо в LOOP добавить делитель int enc_value = value/2; или просто закомментить valueDec(); и valueInc(); в первом и третьем блоках. Вариант с делителем предпочтительнее, не дает ложного прибавления или вычитания. Второй вариант будет прибавлять или вычитать при не полном шаге.
@user-pu5pi4ke3q
@user-pu5pi4ke3q 6 лет назад
а можно Вас попросить о помощи???мне нужно управлять шаговым двигателем с помощью энкодера и выставлять шаг и скорость???
@user-sk6xj8xs9b
@user-sk6xj8xs9b 7 лет назад
есть ещё проще обработчик энкодера . любой из концевиков энкодера цепляем на аппаратное прерывание ардуинки. а в обработчике прерывания смотрим на значения со второго концевика , если там ноль то крутили в одну сторону а если один то в другую . и ничего запоминать не надо , и в цикле опрашивать тоже , а если поставить аппаратный тригер на концевик который на прерывание работает , то можно и мотором крутить ни разу не собъется ------------- сори не заметил пост Дениса
@Evtomax
@Evtomax 7 лет назад
Вот как раз при использовании прерываний дребезг проявляет себя во всей красе, ибо не фильтруется низкой частотой опроса. Я проводил много экспериментов перед тем, как усложнять обработку (в видео это не попало). Ну и такая примитивная обработка уменьшает разрешение для многих энкодеров. В видео пример есть.
@Avlicon
@Avlicon 4 года назад
Чем отличаются предоставленные вами энкодеры ?
@maxfrvr
@maxfrvr 7 лет назад
Здравствуйте, в чем может быть проблема, повторяю второй скетч из видео( энкодер с фиксированными позициями), у меня идет отсчет только в отрицательную сторону, считает только в одну сторону. Думал энкодер поломанный, загрузил первый скетч, все работает, считает и в плюс и в минус но считает не корректно, если медленно крутить. Короче энкодер рабочий, а все равно только в 1 сторону считает. Где искать решение ?
@JekaMandra
@JekaMandra 4 года назад
там есть. 3 типа
@charger3851
@charger3851 4 года назад
Автор ответь пожайлуста !!!! Как подключить энкодер к Arduino pro micro???я начинающий ничего не понимаю
@itsmakar2412
@itsmakar2412 5 лет назад
Пж скажи что такое двигатель с энкодером (в нем 5 контактов)
@dr.emmettbrown8466
@dr.emmettbrown8466 7 лет назад
А кнопка на энкодере? Я делал через прерывания и для борьбы с дребезгом использовал триггер Шмидта. А вот с кнопкой что то не пошло :(
@Evtomax
@Evtomax 7 лет назад
Для кнопки код будет в одном из следующих видео на нашем канале.
@dr.emmettbrown8466
@dr.emmettbrown8466 7 лет назад
я сам не знаю что не пошло, я поставил кнопку тоже на прерывание с параметром FALLING и контроллер стал подвисать. Честно, я даже не стал разбираться что не так ибо в моем проекте кнопка не нужна и я просто плюнул на это. А вот сам энкодер работает хорошо. А так просто интересуюсь на будущее.
@romanlubim55
@romanlubim55 7 лет назад
У меня проблема с энкодером на муз. центре. Работал, спустя некоторое время стал отскакивать назад. Причина в нем или в коде?
@ivperivm10
@ivperivm10 7 лет назад
Роман Ионов контакты стерлись. Можно разобрать и немного подогнуть их
@romanlubim55
@romanlubim55 7 лет назад
хорошо, попробую
@user-et4rg9nj2j
@user-et4rg9nj2j 7 лет назад
здравсвуйте скаже пажалуста как замерить ток трансформатора тестором ?
@seriy-1232
@seriy-1232 6 лет назад
Как заменить 2 кнопки "-" и "+" энкодера?!
@user-uf5oi3es9g
@user-uf5oi3es9g 7 лет назад
провода самодельные или готовые? у меня тока f-f
@Evtomax
@Evtomax 7 лет назад
Готовые.
@Rin_Media
@Rin_Media 5 лет назад
В общем у меня задача сделать прибор для измерения микрон... я думал применить для этого энкодер от струйного принтера (тот, что прозрачным диском сделан)...
@user-ou3yl8qo4w
@user-ou3yl8qo4w 5 лет назад
Может пригодится ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-E-AIr5Sfj9E.html на 16:50 в видео говорится о импульсах
@qweqwe4693
@qweqwe4693 7 лет назад
В компьютерных мышах тоже энкодер есть?
@Radionewss
@Radionewss 7 лет назад
qwe qwe да, колесо мыши на энкодере
@payalnik_TV
@payalnik_TV 7 лет назад
В старых с колесиками. В оптических нет.
@user-fz3ks8ew1p
@user-fz3ks8ew1p 7 лет назад
есть и в новых,точнее в очень новых, где есть еще колесико сверху.
@qweqwe4693
@qweqwe4693 7 лет назад
Паяльник TV Мы про одни и те же колесики говорим?Про те,которыми,например, страницы в браузере вверх вниз крутить?
@Radionewss
@Radionewss 7 лет назад
в современных мышках колесо мыши выполнено либо в исполнении энкодера либо стоит оптопара( светодиод и фотодиод) между которыми колесо на котом прорези. при вращении колеса получаются импульсы.
@user-of8gx9li7h
@user-of8gx9li7h 7 лет назад
Сейчас хотя бы узнал, как он называется. А то резисторами кличал)
@user-zi6kd3pd1w
@user-zi6kd3pd1w 5 лет назад
Такая же фигня
@flashmotor3817
@flashmotor3817 3 года назад
а в скетче делить на 4))))
Далее
The Fan’s Fang Skin🔥 | Brawl Stars Sneak Peek
00:16
Bilasizmi?
00:12
Просмотров 420 тыс.
Энкодер.
14:00
Просмотров 18 тыс.
Оптические энкодеры
10:43
Просмотров 11 тыс.
🛠️ТОП 15 САМОДЕЛОК 2019 [AlexGyver]
17:24
11.Энкодер | Arduino | Midi | Hiduino
16:30
Просмотров 6 тыс.
The Fan’s Fang Skin🔥 | Brawl Stars Sneak Peek
00:16