#include <Servo.h>
Servo myServo;
unsigned long MOVING_TIME = 3000;
unsigned long moveStartTime;
int startAngle = 0;
int stopAngle = 90;
bool servoStav = false;
void setup() {
myServo.attach(9);
moveStartTime = millis();
Serial.begin(9600);
}
void loop() {
unsigned long progress = millis() - moveStartTime;
if (progress <= MOVING_TIME) {
long angle = map(progress, 0, MOVING_TIME, startAngle, stopAngle);
myServo.write(angle);
Serial.println(angle);
}
if (progress >= MOVING_TIME) {
servoStav = !servoStav;
if (servoStav) {
startAngle = 90;
stopAngle = 0;}
else {
startAngle = 0;
stopAngle = 90;
}
moveStartTime = millis();
}
}