Подключение джойстика (модуля KY-023) к Arduino

Часто возникает желание управлять проектом обычным нажатием кнопки,  с помощью пульта управления и так далее, не заходя в компьютер.  Одним из способов управления микроконтроллером (в данном случае платой Ардуино) может служить управление с помощью джойстика.

Джойстики чаще всего применяются для контроля различных роботов или механизмов.

Самым простейшим из таких модулей служит аналоговый джойстик с двумя осями (x ;y) и кнопкой. Иногда он еще носит название  KY-023.

 

Джойстик KY-023 для Ардуино
Модуль джойстика KY-023

Подключение

Модуль имеет 5 выходов для подключения к плате,  все они будут использоваться. Подключить джойстик  можно по приведенной  ниже схеме. Питание джойстика осуществляется через контакт 5В, для замыкания цепи подключается также заземление на контакт GND (от «ground» — земля) .

Аналоговые выходы RX и RY служат для управления джойстиком по осям X и Y соответственно. Выход кнопки SW можно подключить к любому свободному цифровому контакту на плате Arduino (желательно, оставляя свободными при этом ШИМ-порты: они помечаются на плате небольшой волнистой черточкой).

Схема соединения Arduino и джойстика, созданная в программе Fritzing
Схема соединения Arduino и джойстика

Теперь  можно считать значения с аналоговых выходов джойстика
(а именно с осей X и Y),  используя простой  скетч.

После этого можно смело загружать скетч в плату. Затем попробуйте повращать джойстик в разные стороны, можете понажимать на него несколько раз  и в мониторе порта увидите значения с вашего джойстика. Если же вы просто нажали на него, то появится надпись, прописанная в функции Serial.print («Clicked»).

Опираясь на эти данные,  уже можно собрать что-нибудь более интересное и стоящее.

Применение

Если вы только начали изучать семейство AVR микроконтроллеров, то советуем вам попрактиковаться управлять с помощью джойстика различными движками и приводами, моторчиками или сервоприводами. Например, простейшим сервоприводом SG90.

Сервопривод TowerPro SG90
Сервопривод TowerPro SG90 9G

Более сложные проекты с использованием джойстика включают в себя управление более сложными механизмами: управление машинкой,  роботами,  механической рукой и т.д.

Один из таких проектов приводим на видео ниже. Это управление поворотной платформе на основе сервопривода, с помощью джойстика.

Также существует большое множество плат и расширений, где уже встроен модуль джойстика — например,  Joystick Shield и другие.

Купить компоненты для повторения данного урока,  можно на сайте Arduinka.Pro: