#include <Servo.h>
Servo myServo;
const int potPin = A0;
const int servoPin = 9;
const int ledPin = 3;
const int btnPin = 2;
int targetAngle = 90;
int currentAngle = 90;
void setup() {
myServo.attach(servoPin);
pinMode(ledPin, OUTPUT);
pinMode(btnPin, INPUT_PULLUP);
myServo.write(currentAngle);
}
void loop() {
int potValue = analogRead(potPin);
targetAngle = map(potValue, 0, 1023, 0, 180);
if (digitalRead(btnPin) == LOW) {
targetAngle = 90;
}
if (currentAngle < targetAngle) currentAngle++;
else if (currentAngle > targetAngle) currentAngle--;
myServo.write(currentAngle);
int distanceFromCenter = abs(currentAngle - 90);
int ledBrightness = map(distanceFromCenter, 0, 90, 0, 255);
analogWrite(ledPin, ledBrightness);
delay(10);
}