кто поможет GyverEncoder почему-то инкодер не работает CLK 3 DT 5 SW 4 "GyverEncoder.h" //Encoder enc1(CLK, DT); // для работы без кнопки Encoder enc1(CLK, DT, SW); // для работы c кнопкой //Encoder enc1(CLK, DT, SW, TYPE2); // для работы c кнопкой и сразу выбираем тип //Encoder enc1(CLK, DT, ENC_NO_BUTTON, TYPE2); // для работы без кнопки и сразу выбираем тип // Варианты инициализации: // Encoder enc; // не привязан к пину // Encoder enc(пин CLK, пин DT); // энкодер без кнопки (ускоренный опрос) // Encoder enc(пин CLK, пин DT, пин SW); // энкодер с кнопкой // Encoder enc(пин CLK, пин DT, пин SW, тип); // энкодер с кнопкой и указанием типа // Encoder enc(пин CLK, пин DT, ENC_NO_BUTTON, тип); // энкодер без кнопкой и с указанием типа void setup() { Serial.begin(9600); enc1.setType(TYPE2); } void loop() { // обязательная функция отработки. Должна постоянно опрашиваться enc1.tick(); if (enc1.isTurn()) { // если был совершён поворот (индикатор поворота в любую сторону) // ваш код } if (enc1.isRight()) Serial.println("Right"); // если был поворот if (enc1.isLeft()) Serial.println("Left"); } заменил инкодер тоже не работает
Комментарии: 56
Andre
к чему подключаешь? пины не перепутал?
Leha
нет он выаёт во все стороны
Andre
именно в момент поворота?
Leha
Left да
Andre
он всегда говорит Left? или говорит обе стороны?
Leha
нет только лефт
Andre
не пиши отдельными сообщениями. Пиши одним внятным.
Leha
изредка проскакивает Right ок
Andre
можешь сфотографировать как подключил? Чтобы было видно, куда идут какие провода от энкодера к ардуине.
Leha
ок
Andre
а если поменять местами S1 и S2. станет наоборот?
Leha
смотри до этого всё работало. Но были небольшие лаги. Потом появились проблемы перепаял на другие ножки
Dmitriy
Комрадс, знает кто-нибудь как в KiCad выделить группу контактных площадок и перекинуть их с 2х слоев на 1 слой (нижний например)? А то приходится каждое тыкать( и менять настройку
Andrey
а вот резисторы впослед с выходами - сомнительно. были бы они по 100 ом...
Leha
не помогло это готовая схема энкодера. я его даже заменял не помогло менял скетчь не помогло
Andre
попробуй сделать скетч, который опрашивает S1 и S2 и если там высокий (или наоборот низкий) уровень, то в лог бы что-то прилетало. и погляди, как у тебя вообще работает энкодер. Просто digitalRead на каждый из двух пинов S1/S2. И вывод в лог.
Leha
осталось только ардуику сменить перепаяю наверное всё на другую ардуинку
Th0r
макетку хлебную купи, чтобы не паять
Andre
погляди моё сообщение выше. ардуина это цифровой прибор, и он либо работает, либо нет. а энкодер скорее аналоговый. Тебе надо энкодер другой, этот разболтанный. И посмотри, что я выше написал про простую проверку. Своими глазами увидишь, что выдаёт твой энкодер ардуине.
Leha
Это новый Я его уже заменял
Vasil
Ну с работает, либо нет, ты погорячился...
Andre
экзотические случаи брака цифровых пинов я не рассматриваю. Такое случается только у матёрых электронщиков, но не у тех, кто вчера купил ардуину, а сегодня скачал библиотеку Гайвера.
Th0r
по твоему китайцы сперва узнают квалификацию, и отправляют брак только спецам? или новичок не может спалить ногу?
Dmitriy
Для проекта в приводе флопика Панасоник заменил обычный вонючий магнит на неодимы.... Сук, при проверке усилия чуть палец не порвало на британский флаг Стабилизация у него лютая Потребление упало до 50ма. Если тормозить вал до 800ма
First
Это чё за проэкт такой ?
Andre
у него не спалена нога.
Th0r
у него - может и нет. но это ответ на твоё - ардуина или работает или нет
Dmitriy
Почитайте статью уважаемого DI HALT о том, что ему попадалось с китая
Andre
это слишком редкий случай, чтобы о нём всерьёз рассуждать. Сможешь доказать, что ты не фантазия в моём мозгу?
Th0r
!burn
Spanish
A S обвинён в Ереси
Andre
злоупотребляешь.
Th0r
странные у тебя фантазии нет, ты сам меня выбрал своими фантазиями
Andre
ты рассматриваешь какой-то экстремальный вариант. Слышал про бритву Оккама? Ну так вот. у человека проблема не в Ардуине, ему не надо перепаивать энкодер на другую плату, чтобы в этом убедиться.
Th0r
почему ты так думаешь? он сказал, что поменял энкодер
Andre
даже новые энкодеры так себе по качеству, у них дребезг. к сожалению он не провёл эксперимент, который я просил сделать. Так бы увидели, в чём там дело.
Th0r
дребезг не из-за качества
Andre
когда они разбалтываются, дребезга становится ещё больше. Они с завода идут не идеальные. дребезг конечно как у всех кнопок присутствует.
Leha
Опять таже проблема
Andre
с другой ардуиной?
Leha
да и энкодером
Andre
попробуй на третьей ардуине, потом переходи на PIC-контроллеры. Но сначала проведи эксперимент, о котором я выше писал. Просто своими глазами увидишь проблему.
Leha
как я не понял
Andre
сделай в бесконечном цикле опрос двух пинов (S1 и S2) с помощью digitalRead и проверяй, что значение равно HIGH (или может быть LOW). Если условие выполняется, кидай в лог Serial.println("S1"). либо Serial.println("S2"). пока ты не трогаешь энкодер, в лог ничего не будет идти. Как только поверёшь ручку, в логе окажется сколько-то сообщений. Каждое сообщение в логе это одно замыкание контактов S1 и S2.
Th0r
энкодер не так работает
Andre
https://youtu.be/GEF0eR8rAlY вот тут я со своим игрался. Как он по-твоему работает? По-моему там два контакта скользящих. Поворачиваешь ручку, сначала замыкается один, потом второй. В зависимости от того, какой был замкнут первым, можно определить направление. На этом видео вообще не применяются конденсаторы. Просто напрямую подключил без резисторов и конденсатором. Некоторые ошибки заметны из-за дребезга, но в целом работает.
Th0r
ну, если ты повернул его в позицию, когда будет замкнут s1, что будет выводить бесконечный цикл?
Andre
ты имеешь в виду, что надо его повернуть и удерживать в состоянии, которое не стабильно для энкодера? Что если его отпустить, то он с щелчком прыгнет в устойчивое положение? просто надо в условии написать правильное сравнение с HIGH или LOW.
Dmitriy
Можно даже на прерывания повесить)
Dmitriy
Эт да, согласен 100% Тут нужна программная реализация антидребезга. Можно реально подключить библиотеку гайвера по энкодерам. Но сначала да, надо убедиться, что все впорядке с подключением. "Электроника - наука о контактах" часто говорил дед)
Th0r
я этого не видел, значит этого не бывает, да?
Dmitriy
У меня лично был глючный цифровой регистр. IO из коробки в режиме input работал отлично, а вот в режиме output ,сигнал давал не всегда или срывался с high в непонятные low и обратно рандомно
Th0r
!unburn
Spanish
A S оправдан
Dmitriy
Тут я не соглашусь
Th0r
а чо у тебя два разных энкодера?