Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Сборка модуля джойстика для Arduino: пошаговое руководство

Сборка модуля джойстика для Arduino: пошаговое руководство
Модуль джойстика

Если вы занимаетесь проектами, связанными с движением и робототехникой, скорее всего слышали о модуле джойстика для Arduino, но не знаете, как его сделать. Или хотите узнать подробнее о его работе?

Вы по адресу. Цель джойстика Arduino — передавать данные о движении в 2D (по двум осям), что идеально подходит для робототехники и систем управления движением.

В этой статье вы узнаете всё о модуле джойстика Arduino: как он работает и как собрать простую схему.

Что такое модуль джойстика?

Почти никакой робототехнический проект не обходится без джойстика. Готовые контроллеры бывают дорогими или не подходящими, а модуль джойстика — дешёвый и гибкий вариант.

Принцип работы аналогичен аналоговым геймпадам: два потенциометра, установленных под углом 90°, соединены с коротким рычагом с пружиной в центре.

Сборка модуля джойстика для Arduino: пошаговое руководство
Потенциометры

В покое модуль выдаёт ~2.5 В на обеих осях (X и Y). При отклонении напряжение меняется от 0 до 5 В в зависимости от направления. При подключении к микроконтроллеру (10-битный АЦП) центральное значение ~512, крайние — 0 и 1023.

Распиновка

№ИмяОписание
1GNDЗемля модуля
2+5VПитание модуля
3VRxНапряжение, пропорциональное оси X
4VRyНапряжение, пропорциональное оси Y
5SWКнопка джойстика

Особенности

Технические характеристики

Схемы подключения

На схеме видно два потенциометра (10 кОм), управляющих осями X и Y. Они движутся независимо. Вывод SW внутренне подключён к кнопке.

Сборка модуля джойстика для Arduino: пошаговое руководство
Схема модуля джойстика

Подключение к Arduino

Модуль совместим с Raspberry Pi, Arduino и др. VRx и VRy подключаются к АЦП-входам, SW — к цифровому входу.

Сборка модуля джойстика для Arduino: пошаговое руководство
Джойстик к микроконтроллеру
Сборка модуля джойстика для Arduino: пошаговое руководство
Джойстик к Arduino

Направления движения и диапазоны значений:

Сборка модуля джойстика для Arduino: пошаговое руководство
Направления движения

Для опроса кнопки подключите 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);
}
Сборка модуля джойстика для Arduino: пошаговое руководство
Код для Arduino

Маппинг значений (пример с 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);
}
Сборка модуля джойстика для Arduino: пошаговое руководство
Код для маппинга на OLED/графический дисплей

Функция map() позволяет масштабировать диапазоны под ваши нужды.

Применение

Сборка модуля джойстика для Arduino: пошаговое руководство
Робот-дрон
Сборка модуля джойстика для Arduino: пошаговое руководство
Подвижная камера

Заключение

Слово «джойстик» ассоциируется с геймпадами, но в DIY-электронике применение гораздо шире. Модуль выдаёт аналоговый сигнал, пропорциональный отклонению ручки по горизонтали и вертикали.

Сборка модуля джойстика для Arduino: пошаговое руководство
Игровые контроллеры

Если остались вопросы — пишите, мы всегда рады помочь.

Промышленные технологии

  1. Создание настраиваемой «бьющейся» клавиши на Arduino: пошаговое руководство
  2. Подключение Arduino Mega к GPS-модулю NEO‑6M: пошаговое руководство
  3. Своё рулевое управление (джойстик) для игр на Arduino
  4. Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
  5. Автоматическая дверь на Arduino с ультразвуковым датчиком HC-SR04
  6. Создание Bluetooth-управляемой машины на Arduino: полное DIY-руководство
  7. DIY мини-осциллограф на Arduino Nano — пошаговое руководство
  8. Сборка домашней автоматизации JARVIS v1 на Arduino Nano — пошаговое руководство
  9. Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
  10. Робот, управляемый жестами: Arduino + MPU-6050 + Bluetooth