Беспроводной джойстик PS2 на 2.4G для Arduino проектов

  • Рейтинг:
    0 отзывов
  • Модель:
    Wireless joystick ps2 for arduino
  • Артикул:
    45014098
  • Доступно:
    54 шт.
  • Вес:
    300.00 г
  • Размеры (Д x Ш x В):
    200.00 x 150.00 x 60.00 мм
1545.00 р.
Есть в наличии

Этот беспроводной джойстик PS2 работает на частоте 2.4 ГГц и предназначен для управления Arduino-проектами. Он идеально подходит для управления роботами, автомобильными шасси, дронами или другими DIY устройствами. Устройство отличается простотой подключения и удобством использования благодаря наличию встроенного беспроводного передатчика и приёмника. Джойстик предоставляет несколько аналоговых и цифровых кнопок, что позволяет интегрировать его в проекты с различными потребностями.


Характеристики:

  • Рабочая частота: 2.4 ГГц.
  • Дальность передачи сигнала: до 10 метров.
  • Интерфейс: поддержка передачи данных по SPI или UART через модуль приёмника.
  • Питание: 2 батарейки AA (джойстик) и питание 5 В для приёмника.
  • Совместимость: Arduino, ESP32, STM32 и другие микроконтроллеры.

Элементы управления:

  • 2 аналоговых джойстика.
  • 4 кнопки направления (вверх, вниз, влево, вправо).
  • 4 функциональные кнопки (X, O, квадрат, треугольник).
  • Дополнительные триггеры (L1, R1, L2, R2).

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

Подключение приёмника:

Приёмник имеет стандартные выводы:

  • VCC – подключается к 5 В (или 3.3 В, в зависимости от микроконтроллера).
  • GND – к общему проводу.
  • MISO, MOSI, SCK, CS – подключаются к соответствующим пинам на Arduino (для SPI).

Пример подключения:

Приёмник   Arduino

--------   -------

VCC        5V

GND        GND

MISO       D12

MOSI       D11

SCK        D13

CS         D10

Пример кода для Arduino

1. Считывание данных джойстика:


#include <PS2X_lib.h>  // Библиотека для работы с PS2 контроллерами
PS2X ps2x;  // Объект для управления джойстиком
#define PS2_DAT 12
#define PS2_CMD 11
#define PS2_SEL 10
#define PS2_CLK 13
void setup() {
  Serial.begin(9600);
  
  // Инициализация джойстика
  if (ps2x.config_gamepad(PS2_CLK, PS2_CMD, PS2_SEL, PS2_DAT, true, true)) {
    Serial.println("Ошибка подключения джойстика.");
  } else {
    Serial.println("Джойстик подключен!");
  }
}
void loop() {
  ps2x.read_gamepad(false, 0);  // Считывание данных
  
  int leftJoystickX = ps2x.Analog(PSS_LX);
  int leftJoystickY = ps2x.Analog(PSS_LY);
  
  int rightJoystickX = ps2x.Analog(PSS_RX);
  int rightJoystickY = ps2x.Analog(PSS_RY);
  
  if (ps2x.ButtonPressed(PSB_CIRCLE)) {
    Serial.println("Кнопка O нажата!");
  }
  
  Serial.print("Левый джойстик: X=");
  Serial.print(leftJoystickX);
  Serial.print(", Y=");
  Serial.println(leftJoystickY);
  delay(100);
}

2. Управление роботом на основе джойстика:


#include <PS2X_lib.h>
PS2X ps2x;
#define LEFT_MOTOR_PIN 5
#define RIGHT_MOTOR_PIN 6
void setup() {
  pinMode(LEFT_MOTOR_PIN, OUTPUT);
  pinMode(RIGHT_MOTOR_PIN, OUTPUT);
  if (ps2x.config_gamepad(13, 11, 10, 12, true, true)) {
    Serial.println("Ошибка подключения!");
  } else {
    Serial.println("Джойстик подключен.");
  }
}
void loop() {
  ps2x.read_gamepad(false, 0);
  int speed = map(ps2x.Analog(PSS_LY), 0, 255, -255, 255);
  analogWrite(LEFT_MOTOR_PIN, abs(speed));
  analogWrite(RIGHT_MOTOR_PIN, abs(speed));
  if (speed < 0) {
    digitalWrite(LEFT_MOTOR_PIN, HIGH);
    digitalWrite(RIGHT_MOTOR_PIN, HIGH);
  } else {
    digitalWrite(LEFT_MOTOR_PIN, LOW);
    digitalWrite(RIGHT_MOTOR_PIN, LOW);
  }
  delay(50);
}

Возможные проблемы и их решения

Не удаётся подключиться к джойстику:

  • Проверьте правильность подключения проводов.
  • Убедитесь, что джойстик и приёмник находятся в зоне действия сигнала.

Некорректное считывание данных:


  • Убедитесь, что установлена подходящая библиотека (например, PS2X).
  • Проверьте конфигурацию SPI на Arduino.

Задержки в работе:


  • Сократите частоту опроса в функции read_gamepad.
  • Проверьте, нет ли помех в работе 2.4 ГГц сигнала.

Проблемы с питанием:


  • Убедитесь, что батарейки джойстика заряжены.
  • Проверьте, что приёмник получает стабильное напряжение.



Комплектация:

  • Джойстик PS2 беспроводной (батарейки типа ААА в комплект не входят)
  • Радио приемник
  • Переходная плата подключения к контроллеру
  • Соединительные провода


 Библиотека и пример PS2X_lib

Пока не было вопросов.