// Joystick and Servo Control with LED by Technical Shubham

#include <Servo.h>

Servo servo1;
Servo servo2;

int joyX = A0;      // Analog pin for X-axis
int joyY = A1;      // Analog pin for Y-axis
int buttonPin = 2;  // Digital pin for joystick button
int ledPin = 13;    // Digital pin for LED

int buttonState = 0; // Variable to store button state
int joyVal;

void setup()
{
  initHardware();  // Call the hardware initialization function
}

void loop()
{
  joyVal = analogRead(joyX);
  joyVal = map(joyVal, 0, 1023, 0, 180);
  servo1.write(joyVal);

  joyVal = analogRead(joyY);
  joyVal = map(joyVal, 0, 1023, 0, 180);
  servo2.write(joyVal);

  buttonState = digitalRead(buttonPin);

  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on the LED when the button is pressed
  } else {
    digitalWrite(ledPin, LOW);  // Turn off the LED when the button is not pressed
  }

  delay(20);
}

void initHardware()
{
  servo1.attach(3);
  servo2.attach(4);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
servo1:GND
servo1:V+
servo1:PWM
servo2:GND
servo2:V+
servo2:PWM
joystick1:VCC
joystick1:VERT
joystick1:HORZ
joystick1:SEL
joystick1:GND
led1:A
led1:C