#include <Servo.h>
#include <serialStr.h>
#include <timeObj.h>
Servo theServo;
serialStr serialReader;
timeObj swingTimer;
void setup() {
Serial.begin(9600);
Serial.println("Type a time in seconds for the servo to stay over.");
theServo.attach(2);
theServo.write(0);
serialReader.setCallback(gotStr);
swingTimer.reset();
}
void gotStr(char* inStr) {
int swingTime;
swingTime = atoi(inStr);
if (swingTime) {
theServo.write(180);
swingTimer.setTime(swingTime * 1000);
}
}
void loop() {
idle();
if (swingTimer.ding()) {
theServo.write(0);
swingTimer.reset();
}
}