#include <Servo.h> //Servo Library.
int Y_axis = A0; //Vertical Y - Axis(Up & Down).
int X_axis = A1; //Horizontal X - Axis(Left to Right).
int Push_Button = 3;//Joystick Center Button.
int Buzzer_Pin = 7; //For Buzzer Indication.
int Servo_1 = 5; //Servo Motor 1(Blue Wire).
int Servo_2 = 6; //Servo Motor 2(Blown Wire).
Servo X_Servo;
Servo Y_Servo;
float X_Axis_Servo_Angle;
float Y_Axis_Servo_Angle;
float X_axis_Value;
float Y_axis_Value;
int Button_Value;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //Serial begin used for Serial Monitor.
pinMode(X_axis, INPUT);
X_Servo.attach(Servo_1);
pinMode(Y_axis, INPUT);
Y_Servo.attach(Servo_2);
pinMode(Push_Button, INPUT);
pinMode(Buzzer_Pin, OUTPUT);
pinMode(Servo_1, OUTPUT);
pinMode(Servo_2, OUTPUT);
digitalWrite(Push_Button, HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
float X_axis_Value = analogRead(X_axis);
float X_Axis_Servo_Angle = (180. / 1023.)* X_axis_Value;
X_Servo.write(X_Axis_Servo_Angle);
float Y_axis_Value = analogRead(Y_axis);
float Y_Axis_Servo_Angle = (180. / 1023.)* Y_axis_Value;
Y_Servo.write(Y_Axis_Servo_Angle);
int Button_Value = digitalRead(Push_Button);
if(Button_Value == 0){
digitalWrite(Buzzer_Pin, HIGH);
}
else{
digitalWrite(Buzzer_Pin, LOW);
}
delay(500);
Serial.print("X Axis Value is = ");
Serial.print(X_axis_Value);
Serial.print(" ");
Serial.print("Y Axis Value is = ");
Serial.print(Y_axis_Value);
Serial.print(" ");
Serial.print("Switch State is = ");
Serial.println(Button_Value);
}