#include <Servo.h>
Servo servoX;
Servo servoY;
int xPin = A0; // Joystick'in X ekseni
int yPin = A1; // Joystick'in Y ekseni
int threshold = 10; // Joystick hareketini algılamak için eşik
int previousX = 90; // İlk servo konumu
int previousY = 90; // İkinci servo konumu
void setup() {
servoX.attach(7); // Birinci servo için dijital pin
servoY.attach(8); // İkinci servo için dijital pin
servoX.write(previousX); // Başlangıç açısını ayarla
servoY.write(previousY); // Başlangıç açısını ayarla
}
void loop() {
int xValue = analogRead(xPin); // Joystick'in X ekseni
int yValue = analogRead(yPin); // Joystick'in Y ekseni
// 0-1023 değerlerini 0-180 aralığına dönüştür
int angleX = map(xValue, 0, 1023, 0, 180);
int angleY = map(yValue, 0, 1023, 0, 180);
// Yalnızca değer değişimi eşikten fazla olduğunda hareket ettir
if (abs(angleX - previousX) > threshold) {
servoX.write(angleX); // Servo'yu yeni açıya hareket ettir
previousX = angleX; // Önceki X konumunu güncelle
}
if (abs(angleY - previousY) > threshold) {
servoY.write(angleY); // Servo'yu yeni açıya hareket ettir
previousY = angleY; // Önceki Y konumunu güncelle
}
delay(15); // İstikrar için kısa bir gecikme
}