// pins
int pinStep = 3;
int pinDir = 2;
int pinBuzzer = 5;
int pinButton = 7;
// stepper
int stepCurrent = 0;
const int stepMax = 100;
int stepDir = 0; // 0 - Open, 1 - Close
// buzzer
bool buzzerIsBeeping = false;
int buzzerBeepOn = 1;
int buzzerBeepDelay = 1;
bool button = false;
// bool initBootOpen = false;
bool initBootOpen = true;
bool bootIsOpen = false;
void setup() {
// put your setup code here, to run once:
pinMode(pinButton, INPUT_PULLUP);
bootServo.write(0);
tone(pinBuzzer, 500, 50);
delay(100);
tone(pinBuzzer, 600, 50);
delay(100);
tone(pinBuzzer, 800, 50);
delay(100);
tone(pinBuzzer, 1000, 50);
delay(700);
}
void loop() {
// put your main code here, to run repeatedly:
if(bootIsOpen == true) {
button = digitalRead(pinButton) == 0;
if(button == true) {
// close boot
tone(pinBuzzer, 1000, 500);
delay(1000);
while(servoPos > servoPosClose) {
// tone(pinBuzzer, 1000, 10);
// servoPos = servoPos - 10;
servoPos--;
bootServo.write(servoPos);
delay(10);
}
bootIsOpen = false;
tone(pinBuzzer, 1000, 50);
}
} else {
// if(initBootOpen == true) {
button = digitalRead(pinButton) == 0;
if(initBootOpen == true || button == true) {
// open boot
tone(pinBuzzer, 1000, 500);
delay(1000);
while(servoPos < servoPosOpen) {
// tone(pinBuzzer, 1000, 10);
// servoPos = servoPos + 10;
servoPos++;
bootServo.write(servoPos);
delay(10);
}
initBootOpen = false;
bootIsOpen = true;
tone(pinBuzzer, 1000, 50);
}
}
}