#include <Servo.h>;
int button = 2;
int LED = 4;
int motorPin = 3;
Servo motor;
int buttonState;
unsigned long debounceDuration = 10; //Wait to validate second change in button state
unsigned int lastTimeButtonStateChanged; //Check last time state was changed
byte lastButtonState;
void setup() {
// put your setup code here, to run once:
pinMode(LED, OUTPUT);
pinMode(button, INPUT);
motor.attach(motorPin);
motor.write(0);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
//Debouncing
if (millis()-lastTimeButtonStateChanged > debounceDuration) {
buttonState = digitalRead(button);
if (buttonState != lastButtonState) {
lastTimeButtonStateChanged = millis();
lastButtonState = buttonState;
}
}
//Turning system on and off
switch (buttonState) {
case 1:
digitalWrite(LED, HIGH);
for (int i=0; i<181; i++) {
motor.write(i);
delay(10);
Serial.println(buttonState);
}
for (int i=181; i>=0; i--) {
motor.write(i);
delay(10);
Serial.println(buttonState);
}
break;
default:
digitalWrite(LED, LOW);
motor.write(90);
Serial.println(buttonState);
break;
}
// if (buttonState == 1) {
// digitalWrite(LED, HIGH);
// for (int i=0; i<181; i++) {
// motor.write(i);
// delay(10);
// }
// for (int i=181; i>=0; i--) {
// motor.write(i);
// delay(10);
// }
// }
// else {
// digitalWrite(LED, LOW);
// }
// Serial.println(buttonState);
// delay(500);
}