Управление Arduino с помощью джойстика

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

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

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

 

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

Подключение

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

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

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

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

Для этого рассмотрим программный код (скетч), расположенный ниже:

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

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

Применение

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

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

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

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

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

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

Другие статьи и видеоуроки вы сможете найти в нашем блоге.