Коротко о KY-023
KY-023 — двухосевой аналоговый джойстик для управления по координатам X и Y, дополненный кнопкой нажатия на ручку.
Модуль удобно использовать в пультах, робототехнике, меню и учебных стендах, где требуется не только дискретная команда «влево/вправо», но и пропорциональное значение отклонения. Для работы контроллер должен иметь два аналоговых входа и один цифровой вход; питание модуля — 3,3–5 В.
Ключевые характеристики
- Модель
- KY-023
- Оси управления
- X и Y, аналоговые выходы VRx и VRy
- Дополнительный орган управления
- кнопка SW под ручкой
- Напряжение питания
- 3,3–5 В
- Потенциометры
- 2 × 10 кОм
- Размеры
- 34 × 26 × 32 мм
- Масса
- 11 г
Подробное описание и особенности
Два пропорциональных канала и кнопка
За каждую ось отвечает отдельный потенциометр на 10 кОм. При наклоне ручки напряжение на VRx или VRy изменяется, а микроконтроллер преобразует его в числовое значение своим АЦП. Поэтому количество цифровых градаций определяет именно АЦП выбранной платы, а не джойстик.
Напряжение на аналоговых выходах зависит от напряжения питания модуля: для контроллера со входами, рассчитанными на 3,3 В, джойстик следует питать от 3,3 В; для 5-вольтовой схемы можно использовать 5 В.[1] В нейтральном положении оба канала находятся вблизи середины диапазона, однако фактический центр каждого экземпляра стоит определить программно после монтажа.
Как обрабатывать сигнал
Для плавного управления считайте VRx и VRy двумя аналоговыми входами, определите минимум, центр и максимум каждой оси, а затем масштабируйте значения под скорость, направление или положение исполнительного механизма. Небольшую нейтральную зону лучше задавать по результатам собственного калибрования, а не по фиксированным универсальным числам.
Кнопка SW замыкает сигнальный контакт на GND, поэтому цифровой вход удобно настроить с внутренней подтяжкой. При такой схеме нажатию соответствует низкий логический уровень.[1]
Подойдет / не подойдет
Подойдет
- для пропорционального управления движением по двум осям;
- для меню, где наклон задает направление, а нажатие подтверждает выбор;
- для пультов роботов, манипуляторов и поворотных платформ;
- для обучения работе с аналоговыми входами и калибровкой;
- для контроллеров с двумя доступными каналами АЦП.
Не подойдет
- для непосредственного подключения двигателя или сервопривода без микроконтроллера;
- в качестве поворотного энкодера — ручка наклоняется, а не вращается непрерывно;
- для Raspberry Pi без внешнего АЦП: у платы нет встроенных аналоговых входов.[1]
- если нужны только четкие кнопочные направления без пропорционального сигнала — можно выбрать пятипозиционный цифровой модуль навигации или D-pad на пять кнопок с одним аналоговым выходом.
Примеры применения
Управление сервоприводом
Одна ось джойстика задает целевое положение, микроконтроллер масштабирует результат АЦП и формирует управляющий сигнал для сервопривода SG90. Сервопривод не подключают к VRx или VRy напрямую; для него требуются отдельный управляющий выход и соответствующее питание.
Пульт панорамирования и наклона
Ось X можно назначить для поворота, ось Y — для наклона, а кнопку SW — для возврата в заданное положение или переключения режима.
Навигация в меню
Направление отклонения перемещает курсор, величина отклонения может изменять скорость прокрутки, а нажатие ручки подтверждает выбор.
USB-контроллер
Два аналоговых канала и кнопку можно использовать как органы ввода самодельного HID-пульта, если выбранная плата и программа поддерживают нужный USB-профиль.
Подключение и настройка
-
Выберите контроллер
Для считывания KY-023 можно взять плату с двумя аналоговыми входами на выбор: Nano V3.0 на ATmega328P для обычного прототипирования или Pro Micro на ATmega32U4, если проекту требуется USB HID.
-
Подключите питание
Подключите GND к общей земле, а контакт питания — к 3,3 В или 5 В в соответствии с допустимым напряжением аналоговых входов контроллера.
-
Подключите сигналы
VRx и VRy подключите к двум аналоговым входам, а SW — к цифровому входу с подтяжкой к питанию. Перед подачей напряжения сверьте обозначения непосредственно на полученной плате.
-
Выполните калибровку
Считайте крайние и центральные значения обеих осей, сохраните их в программе и задайте нейтральную зону, достаточную для стабильного состояния без ложных движений.
Ограничения и безопасность
Не превышайте напряжение аналогового входа
Питание KY-023 определяет верхний уровень сигналов VRx и VRy. Не питайте модуль от 5 В, если аналоговый вход контроллера допускает только 3,3 В.
Модуль не управляет нагрузкой напрямую
VRx и VRy являются измерительными сигналами для АЦП. Двигатели, реле и сервоприводы подключают через соответствующий контроллер, драйвер и источник питания.
Центр требует калибровки
Не закладывайте в программу предположение об абсолютно одинаковом центре для всех экземпляров. Проверьте фактические значения после установки и при необходимости добавьте нейтральную зону.
FAQ
Сколько входов контроллера требуется для KY-023?
KY-023 требует два аналоговых входа для VRx и VRy и один цифровой вход для кнопки SW.
Почему нажатая кнопка возвращает LOW?
Кнопка SW замыкает сигнал на GND. Если цифровой вход настроен с pull-up, в состоянии покоя он считывает HIGH, а при нажатии — LOW.[1]
Есть ли у KY-023 собственное разрешение 10 бит?
Нет. Джойстик формирует аналоговое напряжение, а цифровое разрешение определяет АЦП микроконтроллера или внешнего преобразователя.
Можно ли подключить KY-023 к Raspberry Pi?
Кнопку можно считывать цифровым GPIO, но для осей X и Y требуется внешний АЦП, поскольку у Raspberry Pi нет встроенных аналоговых входов.[1]
Документы и источники
- Joy-IT SensorKit, “KY-023 Joystick (X-Y-Axis)” — принцип аналогового считывания, подключение к 3,3 В и 5 В, active-low кнопка с pull-up и использование внешнего АЦП с Raspberry Pi.