#include <Servo.h>
Servo servo;
const int button = 7;
int previous_state = 0;
int servo_pos = 90;
int servo_dir = 90;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
servo.attach(6);
servo.write(servo_pos);
pinMode(button, INPUT);
Serial.begin(9600);
}
void loop() {
/* Serial.println("prev state");
Serial.print(previous_state);
Serial.println(digitalRead(button)); */
if (digitalRead(button) == HIGH && previous_state == 0) {
previous_state = 1;
// Serial.println("ON");
// checking servo rotation goal
if (servo_pos >= 180) {
servo_dir = -90;
} else if (servo_pos <= 0) {
servo_dir = 90;
}
servo_pos += servo_dir;
Serial.println("Rotating...");
servo.write(servo_pos);
// give the servo time to rotate
digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
digitalWrite(LED_BUILTIN, LOW);
Serial.println("Done!");
} else {
if (previous_state == 1) {
previous_state = 0;
}
// Serial.println("OFF");
}
// Serial.println(servo_pos);
}