Подключение джойстика к Arduino

27-02-2020, 16:58 0 комментариев
Подключение джойстика к Arduino позволит просто и эффективно обмениваться информацией между человеком и электронными устройствами (компьютером, ноутбуком, тем же микроконтроллером). Подобные девайсы уже давно используются в гейминге (в качестве геймпадов), конструировании, проектировании, а в особенности – робототехнике (для контроля и управления движением портативных систем, машин, роботов, авиасимуляторов и прочих «движущихся» деталей ∕ «взрослых» игрушек ∕ автоматизированных механизмов). Они бюджетны по стоимости и доступны для приобретения как на отечественных, так и китайских торговых онлайн-площадках.

Стандартный аналоговый джойстик внешне выглядит как ручка, закрепленная на шаровом шарнире с 2-мя взаимно перпендикулярными осями (X и Y) и тактовой кнопкой Z. Его принцип действия достаточно прост - при наклоне получаем вращение подвижных контактов, при отпускании ручка возвращается в свое первоначальное состояние. Так этот модуль функционирует (по сути, в 4 направлениях, если говорить о движении).

Теперь разберем детальнее подключение прибора к плате Ардуино Uno. Обратите внимание на принципиальную схему сборки:
В ней мы применили такие аппаратные детали как: микроконтроллер Ардуино Uno, модуль джойстика, соединительные провода (можно также добавить макетную плату, USB-кабель для подключения к ПК).
Чтобы получить данные с геймпада и проверить его конфигурации, заливаем следующий скетч:
// пин подключения контакта VRX
#define PIN_VRX A0
// пин подключения контакта VRY
#define PIN_VRY A1
// пин подключения кнопки
#define PIN_BUTTON 3

void setup () {
// запуск последовательного порта
Serial.begin (9600);            
}      

void loop () {
// Выводим значение по оси X
Serial.print("X = ");           
Serial.println(analogRead(PIN_VRX));     
// Выводим значение по оси Y
Serial.print("Y = ");           
Serial.println(analogRead(PIN_VRY));     
// Состояние кнопки
Serial.print("button = ");           
if (digitalRead(PIN_BUTTON) == HIGH) {
Serial.println ("NOT CLICK");
}
else {
Serial.println ("CLICK!");    
}
// Пауза 1 сек
delay (1000); 
}
Переносим программные коды на ПО, открываем Serial Monitor (монитор COM-порта), наблюдаем тестовый вывод данных.

Мы разобрали в общих чертах информацию о том, как подключить джойстик к Ардуино. Если у вас "случайно" "завалялись" плата прототипирования, модуль джойстика, парочка сервоприводов и перемычек, а также соединительные провода - можно поработать над простым проектом по управлению подвесом для камеры. В интернете имеются хорошие примеры с готовыми библиотеками и кодами по этой теме.
Геймпад – вещь функциональная и удобная, он несомненно пригодится многим пользователям для создания как собственных увлекательных проектов, так и воспроизведения уже существующих вариантов. На этом прощаемся! Удачи!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...

Сегодня рассматриваем подключение VL53L0X к Ардуино, а также основные особенности этого устройства. Датчик выбран нами для обзора не случайно – он вполне...

Дисплейно-клавиатурный модуль на микросхеме TM1638 – очень полезная покупка для любителей конструирования, проектирования и робототехники на базе Arduino....

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

Оставить комментарий