Двухосевой джойстик (KY-023, PS2) — это модуль манипулятор, состоявший из двух потенциометров и одной тактовой кнопкой, позволяющий пользователю управлять различными устройствами (шасси, роботами), например для дистанционного управления двух-координатным поворотным устройством видеокамеры, которое можно вращать в двух плоскостях.
Технические характеристики KY-023
- Напряжение питания: 5 В
- Поворот ручки: 360°
- Размеры: 40 мм х 26 мм х 32 мм
Распиновка KY-023
Вывод | Описание |
---|---|
GND | Земля/общий |
+5V/VCC | Питание |
VRX | Аналоговый выход потенциометра оси X |
VRY | Аналоговый выход потенциометра оси Y |
SW | Выход кнопки |
Принципиальная схема джойстика KY-023
Модуль двухосевого джойстика состоит из двух потенциометров на 10 кОм, определяющие положение осей X и Y изменение сопротивления осуществляется рычагом. Средняя нога каждого потенциометра выведены на контакты VRX и VRY, а вторая и третья нога подключена к питанию и массе. Дополнительно установлена тактовая кнопка, показания снимаются с контакта SW, так-же предусмотрено посадочное место для подтягивающего резистора (R1).
Для считывания данных с выводов VRX (ось X) и VRY (ось Y) необходимо использовать аналоговые порт Arduino. (значение от 0 до 5В или от 0 до 1023), а для считывания данных с вывода RW используем цифровой порт (значение 0В и 5В или 0 и 1). Так-как один вывод тактовой кнопки подключен к земле и при нажатии на джойстик вниз, происходит замыкание цепи, но возможно ложные срабатывания (наводки). Для получения стабильных показаний, вывод RW необходимо подтянуть к питанию +5В, через подтягивающий резистор R1 или использовать встроенный подтягивающий резистор.
Схема подключения джойстика KY-023 к Arduino
Для считывания значений с потенциометров джойстика будут использоваться пара аналоговых контактов на Arduino (A0 и A1) и цифровой вывод для считывания значений с кнопки.
KY-023 | Arduino |
---|---|
GND | GND |
+5V | 5V |
VRx | A0 |
VRy | A1 |
SW | 3 |
В примере используется встроенный подтягивающий резистор (можно использовать и внешний, для этого необходимо добавить на модули резистор R1, типа размера 0805). Подключаем провода, VRX к аналоговому порту А0, VRY к аналоговому порту A1, SW к цифровому порту 3, осталось подключить питание +5В к выводу 5V и GND к GND на Arduino Pro Mini или Arduino Uno.
Пример скетча
Следующий скетч Arduino будет постоянно считывать значения с потенциометров и кнопки на KY-023 и преобразует их в значение напряжения (0-1023 -> 0V-5V). Перемещение джойстика вверх/вниз увеличит/уменьшит значения X и перемещение джойстика влево/вправо увеличится/уменьшится для значений Y. Нажмите на джойстик, чтобы активировать кнопку. Запускаем среду разработки и загружаем данный скетч, затем открываем мониторинг порта.
/* Пин к которому подключен VRX */ #define VRX A0 /* Пин к которому подключен VRY */ #define VRY A1 /* Пин к которому подключен SW */ #define SW 3 void setup() { /* Установим вывод SW как вход */ pinMode(SW, INPUT); /* Включаем подтягивающий резистор */ digitalWrite(SW, HIGH); /* Задаем скорость передачи данных */ Serial.begin(9600); } void loop() { /* Создаем переменные */ int xVal, yVal, swVal; /* Считываем значение с порта VRX */ xVal = analogRead(VRX); /* Считываем значене с порта VRY */ yVal = analogRead(VRY); /* считываем значение с прта SW */ swVal = digitalRead(SW); /* Выводим текст */ Serial.print("X = "); /* Выводим значение переменной xVal */ Serial.println(xVal, DEC); /* Выводим текст */ Serial.print("Y = "); /* Выводим значение переменной yVal */ Serial.println(yVal, DEC); /* Выводим текст */ Serial.print("Кнопка: "); /* Если swVal равно "1", кнопка не нежата */ if (swVal == HIGH) { /* Выводим текст */ Serial.println("не нажата"); } else { /* Если swVal раво "0" кнопка нажата */ Serial.println("нажата"); } /* Ждем 500 мкс. */ delay(500); }
Результат
В мониторинг порта, можно увидеть все изменения джойстика и нажатия кнопки.
Спасибо за информацию. Но остался вопрос — что подпружинивает джойстик , и возможно ли самостоятельно убрать «пружину»?
Вывод из запоя на дому http://www.fizioterapijakeskic.com .
самые гениальные идеи бизнеса biznes-idei13.ru .
Профессиональный сервисный центр по ремонту камер видео наблюдения по Москве.
Мы предлагаем: ремонт систем видеонаблюдения москва
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!