Сборка модуля джойстика для Arduino: пошаговое руководство
Если вы занимаетесь проектами, связанными с движением и робототехникой, скорее всего слышали о модуле джойстика для Arduino, но не знаете, как его сделать. Или хотите узнать подробнее о его работе?
Вы по адресу. Цель джойстика Arduino — передавать данные о движении в 2D (по двум осям), что идеально подходит для робототехники и систем управления движением.
В этой статье вы узнаете всё о модуле джойстика Arduino: как он работает и как собрать простую схему.
Что такое модуль джойстика?
Почти никакой робототехнический проект не обходится без джойстика. Готовые контроллеры бывают дорогими или не подходящими, а модуль джойстика — дешёвый и гибкий вариант.
Принцип работы аналогичен аналоговым геймпадам: два потенциометра, установленных под углом 90°, соединены с коротким рычагом с пружиной в центре.
В покое модуль выдаёт ~2.5 В на обеих осях (X и Y). При отклонении напряжение меняется от 0 до 5 В в зависимости от направления. При подключении к микроконтроллеру (10-битный АЦП) центральное значение ~512, крайние — 0 и 1023.
Распиновка
| № | Имя | Описание |
|---|---|---|
| 1 | GND | Земля модуля |
| 2 | +5V | Питание модуля |
| 3 | VRx | Напряжение, пропорциональное оси X |
| 4 | VRy | Напряжение, пропорциональное оси Y |
| 5 | SW | Кнопка джойстика |
Особенности
- Два независимых потенциометра для осей X и Y <л>Малый вес
- Простое подключение к Arduino и другим микроконтроллерам
- Автоматический возврат в центральное положение
- Колпачок в виде чашечки
Технические характеристики
- Рабочее напряжение: 5 В
- Сопротивление потенциометров: 10 кОм
- Температура работы: 0…70 °C
- Шаг выводов: 2.54 мм
- Габариты: 4.0 × 2.6 × 3.2 см
- 5 выводов
- Два потенциометра управляют горизонтальным и вертикальным движением
Схемы подключения
На схеме видно два потенциометра (10 кОм), управляющих осями X и Y. Они движутся независимо. Вывод SW внутренне подключён к кнопке.
Подключение к Arduino
Модуль совместим с Raspberry Pi, Arduino и др. VRx и VRy подключаются к АЦП-входам, SW — к цифровому входу.
Направления движения и диапазоны значений:
Для опроса кнопки подключите SW к цифровому пину 8. Питание: VCC → 5V Arduino, GND → GND Arduino.
Код для Arduino (базовый)
Библиотеки не требуются. Скетч читает аналоговые входы и выводит значения в Serial Monitor.
#define joyX A0
#define joyY A1
void setup() {
Serial.begin(9600);
}
void loop() {
int xValue = analogRead(joyX);
int yValue = analogRead(joyY);
Serial.print(xValue);
Serial.print("\t");
Serial.println(yValue);
}
Маппинг значений (пример с LED-матрицей 8×8)
Часто нужно преобразовать диапазон 0–1023 в координаты дисплея. Пример для матрицы 8×8 (библиотека LedControl):
#include "LedControl.h"
#define joyX A0
#define joyY A1
int xMap, yMap, xValue, yValue;
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
Serial.begin(115200);
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
}
void loop() {
xValue = analogRead(joyX);
yValue = analogRead(joyY);
xMap = map(xValue, 0, 1023, 0, 7);
yMap = map(yValue, 0, 1023, 7, 0);
lc.setLed(0, xMap, yMap, true);
lc.clearDisplay(0);
}
Функция map() позволяет масштабировать диапазоны под ваши нужды.
Применение
- Робототехника
- Управление подвижной камерой
- Различные задачи управления движением
Заключение
Слово «джойстик» ассоциируется с геймпадами, но в DIY-электронике применение гораздо шире. Модуль выдаёт аналоговый сигнал, пропорциональный отклонению ручки по горизонтали и вертикали.
Если остались вопросы — пишите, мы всегда рады помочь.
Промышленные технологии
- Создание настраиваемой «бьющейся» клавиши на Arduino: пошаговое руководство
- Подключение Arduino Mega к GPS-модулю NEO‑6M: пошаговое руководство
- Своё рулевое управление (джойстик) для игр на Arduino
- Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
- Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04
- Создание Bluetooth-управляемой машины на Arduino: полное DIY-руководство
- DIY мини-осциллограф на Arduino Nano — пошаговое руководство
- Сборка домашней автоматизации JARVIS v1 на Arduino Nano — пошаговое руководство
- Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
- Робот, управляемый жестами: Arduino + MPU-6050 + Bluetooth