#include <Servo.h>
Servo servo1;
Servo servo2;
int joystickX = A0;
int joystickY = A1;
int joystickButton = 10;
int joystickThreshold = 5;
int servo1Position = 90;
int servo2Position = 90;
void setup() {
servo1.attach(11);
servo2.attach(3);
pinMode(joystickButton, INPUT_PULLUP);
servo1.write(servo1Position);
servo2.write(servo2Position);
}
void loop() {
int joystickXPosition = analogRead(joystickX);
int joystickYPosition = analogRead(joystickY);
int buttonState = digitalRead(joystickButton);
if (joystickXPosition < (512 + joystickThreshold) && joystickXPosition > (512 - joystickThreshold)) {
joystickXPosition = 512;
}
if (joystickYPosition < (512 + joystickThreshold) && joystickYPosition > (512 - joystickThreshold)) {
joystickYPosition = 512;
}
if (joystickXPosition < 512) {
servo1Position++;
}
if (joystickXPosition > 512) {
servo1Position--;
}
if (joystickYPosition < 512) {
servo2Position++;
}
if (joystickYPosition > 512) {
servo2Position--;
}
if (buttonState == LOW) {
servo1Position = 90;
servo2Position = 90;
}
if (servo1Position < 0) {
servo1Position = 0;
}
if (servo1Position > 180) {
servo1Position = 180;
}
if (servo2Position < 0) {
servo2Position = 0;
}
if (servo2Position > 180) {
servo2Position = 180;
}
servo1.write(servo1Position);
servo2.write(servo2Position);
delay(10);
}