====== 3D-джойстик (Troyka-модуль) ======
Используйте [[amp>product/troyka-3d-joystick?utm_source=man&utm_campaign=joystick&utm_medium=wiki|3D-Джойстик (Troyka-модуль)]] для управления роботом, видеоигрой и даже домашним питомцем. Модуль комбинирует в себе аналоговый двухосный джойстик и тактовую кнопку.
{{ :продукты:troyka-3d-joystick:joystick_overview.jpg?nolink |}}
===== Видеообзор =====
{{youtube>LxprWaJWNfQ?large}}
===== Подключение и настройка =====
[[amp>product/troyka-3d-joystick?utm_source=man&utm_campaign=joystick&utm_medium=wiki|3D-Джойстик (Troyka-модуль)]] — сенсор с двумя аналоговыми выходами ''X'' и ''Y'', и одним цифровым — ''Z''. В нейтральном положении аналоговый сигнал соответствует половине напряжения питания, нажатие — бинарный цифровой сигнал.
При перемещении джойстика в одну сторону напряжение будет нарастать, а при движении джойстика в другую сторону — падать. Таким образом управляющее устройство будет получать данные о точном положении ручки джойстика и реагировать на угол наклона, а не только на сам факт наклона ручки.
Модуль общается с управляющей электроникой по 5 проводам. Для подключения используется два [[amp>product/3-wire-cable-digital-troyka?utm_source=man&utm_campaign=joystick&utm_medium=wiki|3-проводных шлейфа]]. Для быстрого подключения модуля к Arduino используйте [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=joystick&utm_medium=wiki|Troyka Shield]].
{{ :продукты:troyka-3d-joystick:joystick_scheme.png?nolink |}}
==== Пример работы ====
В качестве примера выведем в Serial-порт текущее значение отклонения джойстика по двум осям и состояние нажатия кнопки.
// даём разумное имя пинам, к которым подключён джойстик
#define X A0
#define Y A1
#define Z A2
void setup()
{
// открываем последовательный порт для мониторинга действий в программе
Serial.begin(9600);
}
void loop()
{
// переменные для хранения значений
// отклонения джойстика по осям X и Y
// и состояния кнопки Z
int x, y, z;
// считываем текущее значение джойстика
x = analogRead(X);
y = analogRead(Y);
z = digitalRead(Z);
// выводим результаты в serial-порт
Serial.print(x);
Serial.print(",");
Serial.print(y);
Serial.print(",");
Serial.println(z);
delay(100);
}
===== Элементы платы =====
{{ :продукты:troyka-3d-joystick:joystick_annotation.png?nolink |}}
==== Джойстик ====
Содержит два переменных резистора с возвратными пружинами, кнопку и прорезиненный колпачок — «грибок».
==== Контакты подключения 3-проводных шлейфов ====
//1 группа//
* Земля (G) — Чёрный провод. Соедините с пином ''GND'' микроконтроллера.
* Питание (V) — Красный провод. Соедините с пином ''5V'' микроконтроллера.
* Сигнальный (X) — Подключите к аналоговому входу микроконтроллера.
//2 группа//
* Сигнальный (Y) — Подключите к аналоговому входу микроконтроллера.
* Сигнальный (Z) — Подключите к аналоговому/цифровому входу микроконтроллера.
* Не используется.
===== Принципиальная и монтажная схемы =====
{{:продукты:troyka-3d-joystick:joystick_schematic.png?direct&350 |}}
{{ :продукты:troyka-3d-joystick:joystick_layout.png?direct&300|}}
===== Характеристики =====
{{ :продукты:troyka-3d-joystick:gabariti.png?nolink |}}
* Напряжение внешнего питания: 3–5 В
* Интерфейс по осям X, Y: аналоговый, линейный
* Интерфейс кнопки: цифровой, бинарный
* Габариты: 25×25 мм