// Joystick pinleri
#define JOY_X 34
#define JOY_Y 35
#define JOY_SW 32
// LED pinleri
#define LED_UP 15
#define LED_DOWN 2
#define LED_LEFT 4
#define LED_RIGHT 5
#define LED_BUTTON 18
void setup() {
Serial.begin(115200);
pinMode(LED_UP, OUTPUT);
pinMode(LED_DOWN, OUTPUT);
pinMode(LED_LEFT, OUTPUT);
pinMode(LED_RIGHT, OUTPUT);
pinMode(LED_BUTTON, OUTPUT);
pinMode(JOY_X, INPUT);
pinMode(JOY_Y, INPUT);
// Joystick butonu için dahili pull-up
pinMode(JOY_SW, INPUT_PULLUP);
}
void loop() {
int xVal = analogRead(JOY_X);
int yVal = analogRead(JOY_Y);
int swVal = digitalRead(JOY_SW);
// Tüm LED'leri kapat
digitalWrite(LED_UP, LOW);
digitalWrite(LED_DOWN, LOW);
digitalWrite(LED_LEFT, LOW);
digitalWrite(LED_RIGHT, LOW);
digitalWrite(LED_BUTTON, LOW);
// YUKARI
if (yVal > 3000) {
digitalWrite(LED_UP, HIGH);
}
// AŞAĞI
else if (yVal < 1000) {
digitalWrite(LED_DOWN, HIGH);
}
// SOL
if (xVal < 1000) {
digitalWrite(LED_LEFT, HIGH);
}
// SAĞ
else if (xVal > 3000) {
digitalWrite(LED_RIGHT, HIGH);
}
// BUTONA BASILINCA → LED5 yanar
if (swVal == LOW) {
digitalWrite(LED_BUTTON, HIGH);
}
delay(40);
}