Урок 26: Джойстик-модуль
1. Введение
Многие робототехнические проекты требуют джойстика. Этот модуль предоставляет доступное решение для управления роботами и другими устройствами. Подключив его к двум аналоговым входам Arduino, вы получаете управление по осям X и Y, а также кнопку-переключатель (по цифровому пину).

2. Необходимое оборудование
Кол-во |
Деталь |
---|---|
1 |
Плата Arduino UNO |
1 |
Модуль джойстика |
1 |
USB-кабель |
3. Спецификация
Параметр |
Значение |
---|---|
Напряжение питания |
3.3V – 5V |
Интерфейс |
2 аналоговых, 1 цифровой |
4. Подключение

VRx — A0 Arduino (ось X)
VRy — A1 Arduino (ось Y)
SW — D3 Arduino (кнопка)
VCC — 5V Arduino
GND — GND Arduino
5. Пример кода
////////////////////////////////////////////////////////
//Джойстик
int JoyStick_X = A0; // X
int JoyStick_Y = A1; // Y
int JoyStick_Z = 3; // Кнопка
void setup(){
pinMode(JoyStick_Z, INPUT);
Serial.begin(9600); // 9600 бод
}
void loop(){
int x, y, z;
x = analogRead(JoyStick_X);
y = analogRead(JoyStick_Y);
z = digitalRead(JoyStick_Z);
Serial.print(x, DEC);
Serial.print(",");
Serial.print(y, DEC);
Serial.print(",");
Serial.println(z, DEC);
delay(100);
}
////////////////////////////////////////////////////////
6. Результат теста
После правильного подключения и загрузки кода, откройте серийный монитор и установите скорость передачи данных 9600 бод. Двигайте джойстик и нажимайте кнопку — вы увидите показания X, Y и Z (кнопка) в виде чисел, разделённых запятыми.
7. Частые ошибки
Нет реакции — проверьте питание и правильность подключения VRx, VRy, SW.
Значения не меняются — проверьте, что выбран правильный аналоговый/цифровой пин.
Кнопка всегда 0 или 1 — возможно, требуется подтягивающий резистор (INPUT_PULLUP).
8. Практические задачи
Управление роботом или сервоприводом с помощью джойстика.
Использование джойстика для навигации по меню на дисплее.
Управление скоростью и направлением моторов.
9. Идеи для расширения
Использование двух джойстиков для сложного управления.
Передача данных с джойстика по Bluetooth/Wi-Fi.
Визуализация положения джойстика на экране компьютера (Processing, Python).
Подробнее о джойстик-модуле: https://randomnerdtutorials.com/arduino-joystick-module/