Обзор двухосевого джойстика (KY-023, PS2)
Двухосевой джойстик (KY-023, PS2) — это модуль манипулятор, позволяющий пользователю управлять различными устройствами (шасси, роботами), состоявший из двух потенциометров и одной тактовой кнопкой.
Технические параметры
► Напряжение питания: 5 В
► Поворот ручки: 360°
► Габариты: 34 мм х 26 мм х 34 мм
Общие сведения
Модуль KY-023 состоит из двух потенциометров на 10 кОм (расположенных перпендикулярно), для определения осей X и Y необходимо изменить положение джойстика. Средняя нога каждого потенциометра выведена на разъем J1 (контакты VRX и VRY), а вторая и третья нога подключена к питанию и массе. Дополнительно установлена тактовая кнопка, показания снимаются с разъема J1 (контакт SW), так-же предусмотрено посадочное место для подтягивающего резистора (R1).
Принципиальную схему модуля, можно посмотреть ниже, резистор R1 указан без номинала.
Для считывания данных с выводов VRX (ось X) и VRY (ось Y) необходимо использовать аналоговые порт Arduino. (значение от 0 до 5В или от 0 до 1023), а для считывания данных с вывода RW используем цифровой порт (значение 0В и 5В или 0 и 1). Так-как один вывод тактовой кнопки подключен к земле и при нажатии на джойстик вниз, происходит замыкание цепи, но возможно ложные срабатывания (наводки). Для получения стабильных показаний, вывод RW необходимо подтянуть к питанию +5В, через подтягивающий резистор R1 или использовать встроенный подтягивающий резистор.
Подключение двухосевого джойстика к Arduino
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Двухосевой джойстик (KY-023, PS2) x 1 шт.
Подключение:
Обратите внимание, в примере используется встроенный подтягивающий резистор (можно использовать и внешний, для этого необходимо добавить резистор R1, типа размера 0805). Подключаем провода, VRX к аналоговому порту А0, VRY к аналоговому порту A1, SW к цифровому порту 3, осталось подключить питание +5В к выводу 5V и GND к GND на Arduino.
Запускаем среду разработки и загружаем данный скетч, затем открываем мониторинг порта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
/* Тестировалось на Arduino IDE 1.8 Дата тестирования 09.01.2017г. */ int Xin= A0; // Пин к которому подключен VRX int Yin = A1; // Пин к которому подключен VRY int KEYin = 3; // Пин к которому подключен VRY void setup () { pinMode (KEYin, INPUT); // Установим вывод 5 как вход Serial.begin (9600); // Задаем скорость передачи данных digitalWrite(KEYin, HIGH); // Включаем подтягивающий резистор } void loop () { int xVal, yVal, buttonVal; // Создаем переменные xVal = analogRead (Xin); // Считываем значение с порта Xin yVal = analogRead (Yin); // Считываем значене с порта Yin buttonVal = digitalRead (KEYin); // считываем значение с прта KEYin Serial.print("X = "); // Выводим текст Serial.println (xVal, DEC); // Выводим значение переменной xVal Serial.print ("Y = "); // Выводим текст Serial.println (yVal, DEC); // Выводим значение переменной yVal Serial.print("Button: "); // Выводим текст if (buttonVal == HIGH) // Если buttonVal равно "1", кнопка не нежата { Serial.println ("not pressed"); // Выводим текст } else { Serial.println ("pressed"); // Если buttonVal раво "0" кнопка нажата } delay (500); // Ждем 500 мкс. } |
В мониторинг порта, можно увидеть все изменения джойстика и нажатия кнопки.
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Двухосевой джойстик (KY-023, PS2)
Купить в Самаре и области
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Двухосевой джойстик (KY-023, PS2)
Ак как у Вас кириллица в сериал выводиться?У меня квадратики просто.
Добрый день, если в среде IDE Arduino создать новый проект и копированием вставить код, затем загрузить все в плату Arduino, в сериал будет отображаться на русском…
В последующих статьях, пришлось отказаться от кириллицы…