Тип: Аналоговый + цифровой ввод
Интерфейс: I2C

Джойстик

Где можно применить
  • Управление роботом
  • Игровые контроллеры
  • Камеры и манипуляторы
  • Пульты управления
Модуль управления с тремя осями:
  • X — горизонталь (аналог)
  • Y — вертикаль (аналог)
  • Z — кнопка (цифровая)

Позволяет управлять движением и действиями робота.

Что это такое

Основные характеристики

Интерфейс:
I2C (0×52)
Оси:
X, Y (аналоговые)
Кнопка:
Z (цифровая)
Платформы:
Arduino, UIFlow
Пример кода

#include <Wire.h>
#define JOYSTICK_I2C_ADDRESS 0x52 // Адрес вашего джойстика
void setup() {
Serial.begin(115200);
Wire.begin(); // Инициализация I2C
Serial.println("Готов к чтению джойстика");
}
void loop() {
int x = 0, y = 0;
bool z_pressed = false;
if (readJoystick(x, y, z_pressed)) {
Serial.print("X: ");
Serial.print(x);
Serial.print(" | Y: ");
Serial.print(y);
Serial.print(" | Зажата кнопка: ");
Serial.println(z_pressed ? "Да" : "Нет");
} else {
Serial.println("Ошибка чтения данных с джойстика");
}
delay(200);
}
// Функция для чтения данных с джойстика
bool readJoystick(int &x, int &y, bool &z) {
Wire.requestFrom(JOYSTICK_I2C_ADDRESS, 3); // Запрашиваем 3 байта
if (Wire.available() == 3) {
x = Wire.read(); // байт X
y = Wire.read(); // байт Y
uint8_t z_byte = Wire.read(); // байт Z (кнопка)
z = (z_byte != 0);
return true;
}
return false;
}