Перейти к содержимому

Подключение энкодера KY-040 в MBED

Продолжаем изучать MBED OS. Подключим энкодер к отладочной плате Nucleo F410RB. Энкодер KY-040 часто используется в проектах на Arduino, он используется в составе многих устройств в качестве интерфейса управления. С его помощью можно регулировать какие - либо параметры поворотом ручки в ту или иную сторону. При этом энкодер не ограничен количеством оборотов ручки, она может вращаться бесконечно в ту или иную сторону. Это обеспечивает как плавную так и быструю регулировку нужного параметра. Так же в этом энкодере присутствует кнопка, которая срабатывает при нажатии на вал энкодера. 

Данный энкодер механический инкрементный. На своём борту имеет пять выводов.

  • GND
  • +
  • SW
  • DT
  • CLK

Харакеристики KY-040

  • Предельное напряжение на контактах 5В 
  • Предельный ток через контакты 10 мА 
  • Формат выходного сигнала: квадратурный код 2 бит 
  • На один оборот 24 импульса 
  • Температура 
                 эксплуатации -30…70 °C 
                 хранения -40…85 °C 
  • Ресурс оборотов не менее 30 000 
  • Ресурс нажатий кнопки не менее 20 000 

Принцип работы

Основные контакты DT и CLK. В исходном положении на обоих этих контактах положительный сигнал. При вращении энкодера контакты по очереди замыкаются на землю. По тому, какой из контактов замыкается первым, можно определить в какую сторону вращается энкодер. По количеству импульсов можно определить количество щелчков(угол поворота). Для уменьшения шумов я добавил два конденсатора по 1000пФ. Один между GND и DT, второй между GND и CLK

 

Программа

main.cpp

Encoder.h

Encoder.cpp

Ссылка на проект

Добавить комментарий