#include <Servo.h>

Servo myservo;          // create servo object to control a servo
int buttonPin = 8;
int buttonState = 0;
int pos = 0;             // variable to store the servo position
int pos1 = 10;          // variable to store the servo position after button push


void setup() {
  myservo.attach(9);    // attaches the servo on pin 9 to the servo object
  pinMode(buttonPin, INPUT);
}

void loop() {

  
    for (pos = 0; pos <= 180; pos += 1){       // goes from 0 degrees to 180 degrees  in steps of 1 degree                                        
      buttonState = digitalRead(buttonPin);
    if (buttonState == HIGH){                   // it stops servo
    break;
    }
    myservo.write(pos);                        // tell servo to go to position in variable 'pos'                   
    delay(15);                                 // waits 15ms for the servo to reach the position
    }
    for (pos = 180; pos >= 0; pos -= 1){       // goes from 180 degrees to 0 degrees
      buttonState = digitalRead(buttonPin);
    if (buttonState == HIGH){                   // it stops servo
    break;
    }
    myservo.write(pos);                        // tell servo to go to position in variable 'pos'
    delay(15);                                 // waits 15ms for the servo to reach the position
    }
  }