#include <Servo.h>
Servo servo1;
Servo servo2;
int x_key = A1;
int leftLED = 3;
int rightLED = 2;
int centerLED = 4;
int x_pos;
void setup() {
servo1.attach(9);
servo2.attach(10);
pinMode(leftLED, OUTPUT);
pinMode(rightLED, OUTPUT);
pinMode(centerLED, OUTPUT);
servo1.write(90);
servo2.write(90);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, LOW);
digitalWrite(centerLED, LOW);
}
void loop() {
x_pos = analogRead(x_key);
if (x_pos < 300) {
digitalWrite(leftLED, HIGH);
digitalWrite(rightLED, LOW);
digitalWrite(centerLED, LOW);
servo1.write(180);
servo2.write(90);
}
else if (x_pos > 700) {
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, HIGH);
digitalWrite(centerLED, LOW);
servo1.write(90);
servo2.write(0);
}
else {
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, LOW);
blinkCenterLED();
servo1.write(90);
servo2.write(90);
}
delay(100);
}
void blinkCenterLED() {
static unsigned long lastBlinkTime = 0;
static bool ledState = LOW;
unsigned long currentTime = millis();
// Blink the LED every 300 ms
if (currentTime - lastBlinkTime >= 300) {
lastBlinkTime = currentTime;
ledState = !ledState;
digitalWrite(centerLED, ledState);
}
}