Коротко про 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.