Урок 26: Джойстик-модуль

1. Введение

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

Внешний вид джойстик-модуля

2. Необходимое оборудование

Кол-во

Деталь

1

Плата Arduino UNO

1

Модуль джойстика

1

USB-кабель

3. Спецификация

Параметр

Значение

Напряжение питания

3.3V – 5V

Интерфейс

2 аналоговых, 1 цифровой

4. Подключение

Схема подключения джойстик-модуля к Arduino
  • VRx — A0 Arduino (ось X)

  • VRy — A1 Arduino (ось Y)

  • SW — D3 Arduino (кнопка)

  • VCC — 5V Arduino

  • GND — GND Arduino

5. Пример кода

joystick_module.ino
////////////////////////////////////////////////////////
//Джойстик

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/