#include <Servo.h>
Servo Xservo;
Servo Yservo;
int Xpin = A0;
int Ypin = A1;
int Spin = 2;
int XSpin = 9;
int YSpin = 10;
int laserPin = 11; // pin to control the laser beam
int dt = 1000;
int Xval;
int Yval;
int Sval;
int WVx;
int WVy;
void setup() {
Serial.begin(9600);
pinMode(Xpin, INPUT);
pinMode(Ypin, INPUT);
pinMode(Spin, INPUT);
pinMode(XSpin, OUTPUT);
pinMode(YSpin, OUTPUT);
pinMode(laserPin, OUTPUT);
Xservo.attach(XSpin);
Yservo.attach(YSpin);
digitalWrite(Spin, HIGH);
}
void loop() {
Xval = analogRead(Xpin);
WVx = map(Xval, 0, 1023, 0, 180); // map the joystick value to servo angle
Yval = analogRead(Ypin);
WVy = map(Yval, 0, 1023, 0, 180); // map the joystick value to servo angle
Sval = digitalRead(Spin);
Xservo.write(WVx);
Yservo.write(WVy);
if (Sval == LOW) {
digitalWrite(laserPin, HIGH); // turn on the laser beam
} else {
digitalWrite(laserPin, LOW); // turn off the laser beam
}
delay(dt);
Serial.print("X Value = ");
Serial.print(Xval);
Serial.print(", Y Value = ");
Serial.print(Yval);
Serial.print(", Servo1 X-Position = ");
Serial.print(WVx);
Serial.print(", Servo2 Y-Position = ");
Serial.print(WVy);
Serial.print(", Switch State is ");
Serial.println(Sval);
}