
int pirPin = 2;
int ledPin = 13;
int state; // praegune olek
int lastState = LOW; // eelmise tsükli olek
unsigned long startTime;
unsigned long endTime;
void setup() {
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
state = digitalRead(pirPin);
if (state == HIGH && lastState == LOW) {
// Liikumine algas
startTime = millis();
digitalWrite(ledPin, HIGH);
Serial.println(“Liikumine algas”);
}
if (state == LOW && lastState == HIGH) {
// Liikumine lõppes
endTime = millis();
digitalWrite(ledPin, LOW);
unsigned long duration = endTime – startTime; // kestus millisekundites
Serial.print(“Liikumine kestis: “);
Serial.print(duration / 1000.0); // teisendus sekunditeks
Serial.println(” sekundit”);
}
lastState = state; // värskendame eelmise tsükli oleku
}