// УПРАВЛЕНИЕ ДЖОЙСТИКОМ ДВУМЯ СЕРВОПРИВОДАМИ
#include <Servo.h> // Библиотека сервопривода
#define PIN_SERVO_X 9 // Вывод сервопривода по оси X
#define PIN_SERVO_Y 10 // Вывод сервопривода по оси Y
#define PIN_VRX A0 // Контакт VRx
#define PIN_VRY A1 // Контакт VRy
Servo servoX; // Создание объекта Servo X
Servo servoY; // Создание объекта Servo Y
// Служебные переменные
int joyXpr = 0;
int joyYpr = 0;
int joyX, joyY;
int angleX, angleY;
void setup() {
servoX.attach(PIN_SERVO_X);
servoY.attach(PIN_SERVO_Y);
}
void loop() {
// Получение данных с джойстика
joyX = analogRead(PIN_VRX);
joyY = analogRead(PIN_VRY);
// Сравнение с предыдущими
if (abs(joyX - joyXpr) > 10) { // Повернуть по оси X
angleX = map(joyX, 0, 1023, 0, 180);
servoX.write(angleX);
delay(15); // Время на перемещение сервопривода
}
if (abs(joyY - joyYpr) > 10) { // Повернуть по оси Y
angleY = map(joyY, 0, 1023, 0, 180);
servoY.write(angleY);
delay(15); // Время на перемещение сервопривода
}
joyXpr = joyX;
joyYpr = joyY;
}