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

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 45

  • @payalnik_TV
    @payalnik_TV  7 років тому +3

    Скетчи можно скачать в теме поддержки на форуме. Там же все вопросы по работе схемы: forum.cxem.net/index.php?/topic/177136-подключаем-энкодер-к-ардуино/
    Раздел с сотнями проектов на Arduino на сайте: cxem.net/arduino/arduino.php

  • @Rus_slan
    @Rus_slan 4 роки тому

    Хорошо и познавательно. А на счёт управление блоком реле с помощью энкодера. Подскажите?

  • @СанСаныч-я8о
    @СанСаныч-я8о 7 років тому +3

    Спасибо за видео
    есть ещё способ использование энкодера в ардуино - используя прерывание, мне кажется это более правильный способ
    #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 років тому +1

      Энкодер, который крутится вручную, - не такой критически важный и скоростной элемент, чтобы использовать прерывания. На платах Arduino прерывания можно навесить чаще всего только на 2 пина.

    • @СанСаныч-я8о
      @СанСаныч-я8о 7 років тому +1

      тут я немного не соглашусь - если основной задачей ардуино будет обработка энкодера - то тогда да - смысла использовать прерывания нет - но если написать скетч который выполняет очень много задач в цикле, а энкодер используется допустим для подстройки и очень редко - то лучше использовать прерывание иначе реакция на энкодер будет очень медленной - но и ограничение в 2 прерывание в принципе можно обойти

    • @Evtomax
      @Evtomax 7 років тому +1

      Если ввод начинает тормозить, то опрос устройств ввода по прерываниям таймера.

    • @Sherkhan_61
      @Sherkhan_61 5 років тому

      @@СанСаныч-я8о, можете на примере скетча научить как это делать? Начинающий. Еще не сталкивался с этим финтом.

    • @k_alexis79
      @k_alexis79 5 років тому

      Ваш код не эффективен, т.к. прибавление и вычитание у вас происходит в основном цикле и счёт происходит не быстрее чем частота циклов. Это должно быть к коде прерывания вместо того, что у вас. Вывод на экран нет необходимости делать каждый цикл, достаточно раз в 100-200 мс. У вас это сильно тормозит цикл.

  • @SERVICE_KARELIA
    @SERVICE_KARELIA 6 місяців тому

    В прямом направлении по положительному фронту, а в обратном - по отрицательному?

  • @JekaMandra
    @JekaMandra 4 роки тому

    Спасибо. Только ваш код и заработал как надо!

  • @hagenh3365
    @hagenh3365 5 років тому

    Заходим в ардуино.иде управление библиотеками, набираем "encoder", находим encoder step counter, ставим и наслаждайтесь. Да vcc надо подключить к +5v тоже.

  • @user-live_fair
    @user-live_fair 4 роки тому

    Что необходимо изменить в скетче для появления десятичного значения? То есть надо изменять значения шагом 0,25.

  • @Avlicon
    @Avlicon 4 роки тому

    Чем отличаются предоставленные вами энкодеры ?

  • @ВиталийКукоба-ж1д
    @ВиталийКукоба-ж1д 7 років тому

    А выложите пожалуйста урок про решение уравнений равновесия схемы на основе законов Ома и Кирхгофа. А то в интернете не нашёл информации на примитивно-понятном языке. Заранее спасибо

  • @Rin_Media
    @Rin_Media 6 років тому +1

    А как быстро можно крутить что бы Ардуино смог считать импульсы без пропусков?
    мне нужно сделать счётчик импульсов, и энкодер в нём будет крутиться очень быстро.
    Точно не знаю, но несколько десятков килогерц думаю точно будет...
    Сможет ли он считать эти данные на таких скоростях?
    И вообще какая максимальная скорость считывания у Ардуино?
    Видео полезное. 👍👍👍.
    Спасибо за него.
    Ставлю большой ЛАЙК

  • @NovaCat777
    @NovaCat777 7 років тому

    Проверил все варианты, не подходят для моего энкодера. У моего не 4е шага за раз, а два, то есть фиксированные позиции 00 и 11. По приведённым кодам у меня счет по два шага с кодом для плавного и с последним кодом считает не на каждый тик, а через один. Как подправить? Разобрался. Надо в LOOP добавить делитель int enc_value = value/2; или просто закомментить valueDec(); и valueInc(); в первом и третьем блоках. Вариант с делителем предпочтительнее, не дает ложного прибавления или вычитания. Второй вариант будет прибавлять или вычитать при не полном шаге.

  • @ДаниилМакогон-р5е
    @ДаниилМакогон-р5е 6 років тому

    а можно Вас попросить о помощи???мне нужно управлять шаговым двигателем с помощью энкодера и выставлять шаг и скорость???

  • @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 років тому

      хорошо, попробую

  • @maxfrvr
    @maxfrvr 7 років тому +1

    Здравствуйте, в чем может быть проблема, повторяю второй скетч из видео(
    энкодер с фиксированными позициями), у меня идет отсчет только в
    отрицательную сторону, считает только в одну сторону. Думал энкодер
    поломанный, загрузил первый скетч, все работает, считает и в плюс и в
    минус но считает не корректно, если медленно крутить. Короче энкодер
    рабочий, а все равно только в 1 сторону считает. Где искать решение ?

    • @JekaMandra
      @JekaMandra 4 роки тому

      там есть. 3 типа

  • @АлексейБронников-э1е

    здравсвуйте скаже пажалуста как замерить ток трансформатора тестором ?

  • @ВасилийПупкин-ъ8э9в
    @ВасилийПупкин-ъ8э9в 7 років тому

    провода самодельные или готовые? у меня тока f-f

    • @Evtomax
      @Evtomax 7 років тому

      Готовые.

  • @ВладимирПолянский-о2у

    есть ещё проще обработчик энкодера . любой из концевиков энкодера цепляем на аппаратное прерывание ардуинки.
    а в обработчике прерывания смотрим на значения со второго концевика , если там ноль то крутили в одну сторону а если один то в другую . и ничего запоминать не надо , и в цикле опрашивать тоже , а если поставить аппаратный тригер на концевик который на прерывание работает , то можно и мотором крутить ни разу не собъется
    -------------
    сори не заметил пост Дениса

    • @Evtomax
      @Evtomax 7 років тому

      Вот как раз при использовании прерываний дребезг проявляет себя во всей красе, ибо не фильтруется низкой частотой опроса. Я проводил много экспериментов перед тем, как усложнять обработку (в видео это не попало).
      Ну и такая примитивная обработка уменьшает разрешение для многих энкодеров. В видео пример есть.

  • @seriy-1232
    @seriy-1232 6 років тому

    Как заменить 2 кнопки "-" и "+" энкодера?!

  • @qweqwe4693
    @qweqwe4693 7 років тому

    В компьютерных мышах тоже энкодер есть?

    • @Radionewss
      @Radionewss 7 років тому +1

      qwe qwe да, колесо мыши на энкодере

    • @payalnik_TV
      @payalnik_TV  7 років тому +1

      В старых с колесиками. В оптических нет.

    • @ИштванГалга
      @ИштванГалга 7 років тому

      есть и в новых,точнее в очень новых, где есть еще колесико сверху.

    • @qweqwe4693
      @qweqwe4693 7 років тому

      Паяльник TV Мы про одни и те же колесики говорим?Про те,которыми,например, страницы в браузере вверх вниз крутить?

    • @Radionewss
      @Radionewss 7 років тому

      в современных мышках колесо мыши выполнено либо в исполнении энкодера либо стоит оптопара( светодиод и фотодиод) между которыми колесо на котом прорези. при вращении колеса получаются импульсы.

  • @Rin_Media
    @Rin_Media 6 років тому

    В общем у меня задача сделать прибор для измерения микрон...
    я думал применить для этого энкодер от струйного принтера (тот, что прозрачным диском сделан)...

    • @сашамамай-п4г
      @сашамамай-п4г 5 років тому

      Может пригодится ua-cam.com/video/E-AIr5Sfj9E/v-deo.html на 16:50 в видео говорится о импульсах

  • @СергейТ-ж1э
    @СергейТ-ж1э 7 років тому

    Сейчас хотя бы узнал, как он называется. А то резисторами кличал)

  • @flashmotor3817
    @flashmotor3817 3 роки тому

    а в скетче делить на 4))))