int servoPin = A3;
int servoPosition = 0;
int ledRed = D2;
int ledYellow = D3;
int ledGreen = D4;
int timer = 1000*60*1; //1 minute timer
bool timerStarted = false;
Servo servo;
void setup() {
servo.attach(servoPin);
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(ledGreen, OUTPUT);
servo.write(0); //set to 0 degrees
digitalWrite(ledRed,HIGH);
Particle.function("StartTimer",controlTimer);
}
int controlTimer(String command){
if(command=="start"){
timerStarted=true;
return 1;
}
else if (command=="stop"){ //stops after the loop is finished
timerStarted=false;
return -1;
}
else{
return-1;
}
}
void loop(){
if(timerStarted){
for(int i=0; i<180; i=i+5){
servo.write(i);
delay(1666);
}
long timeNow = millis();
long timeElapsed = timer-timeNow;
if (timeElapsed<(1000*60*0.33)){
digitalWrite(ledGreen, HIGH);
digitalWrite(ledYellow, LOW);
digitalWrite(ledRed, LOW);
}
else if(timeElapsed<(1000*60*0.66)){
digitalWrite(ledGreen, LOW);
digitalWrite(ledYellow, HIGH);
digitalWrite(ledRed, LOW);
}
else{
digitalWrite(ledGreen, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledRed, HIGH);
}
}
}
Click to Expand
Content Rating
Is this a good/useful/informative piece of content to include in the project? Have your say!
You must login before you can post a comment. .