Stap 8: Code
#include < Servo.h >Servo myservo;
int pos = 0;
int calibrationTime = 30;
lang unsigned int lowIn;
lang unsigned int pauze = 5000;
Boole lockLow = waar;
Booleaanse takeLowTime;
int pirPin = 12;
int pirPos = 13;
VOID Setup {}
myservo.attach(4);
Serial.begin(9600);
pinMode (pirPin, INPUT);
pinMode (pirPos, OUTPUT);
digitalWrite (pirPos, hoge);
Serial.println ("kalibreren sensor");
for (int i = 0; ik < calibrationTime; i ++) {}
Serial.Print(calibrationTime-i);
Serial.Print("-");
delay(1000);
}
Serial.println();
Serial.println("Done");
terwijl (digitalRead(pirPin) == HIGH) {}
delay(500);
Serial.Print(".");
}
Serial.Print ("SENSOR actief");
delay(1000);
}
void loop {}
if(digitalRead(pirPin) == HIGH) {}
voor (pos = 0; pos < 180; pos += 1)
{
myservo.write(POS);
delay(5);
}
voor (pos = 180; pos > = 1; pos-= 1)
{
myservo.write(POS);
delay(5);
}
if(lockLow) {}
lockLow = false;
Serial.println("---");
Serial.Print ("bewegingsdetectie op");
Serial.Print(Millis()/1000);
Serial.println ("sec");
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW) {}
if(takeLowTime) {}
lowIn = millis();
takeLowTime = false;
}
Als (! lockLow & & millis() - lowIn > onderbreken) {}
lockLow = true;
Serial.Print ("motion eindigde op");
Serial.Print((Millis() - onderbreken) / 1000);
Serial.println ("sec");
delay(50);
}
}
}