Components:

Wiring:

Screenshot 2026-01-14 at 6.37.28 PM.png

Diagram:

View recent photos 9.jpeg

Software:

// Joystick pins
const int joyX = A0;
const int joyY = A1;

// LED pins
const int ledLeft  = 4;
const int ledRight = 5;
const int ledUp    = 6;
const int ledDown  = 7;

void setup() {
  pinMode(ledLeft, OUTPUT);
  pinMode(ledRight, OUTPUT);
  pinMode(ledUp, OUTPUT);
  pinMode(ledDown, OUTPUT);

  Serial.begin(9600);
}

void loop() {
  int x = analogRead(joyX);
  int y = analogRead(joyY);

  // Turn all LEDs off
  digitalWrite(ledLeft, LOW);
  digitalWrite(ledRight, LOW);
  digitalWrite(ledUp, LOW);
  digitalWrite(ledDown, LOW);

  // Horizontal movement
  if (x < 300) {
    digitalWrite(ledLeft, HIGH);
  }
  else if (x > 700) {
    digitalWrite(ledRight, HIGH);
  }

  // Vertical movement
  if (y < 300) {
    digitalWrite(ledDown, HIGH);
  }
  else if (y > 700) {
    digitalWrite(ledUp, HIGH);
  }

  // Debug values (optional)
  Serial.print("X: ");
  Serial.print(x);
  Serial.print("  Y: ");
  Serial.println(y);

  delay(50);
}