25 рядки
564 B
Arduino
25 рядки
564 B
Arduino
|
const int lightDelay = 90000;
|
||
|
const byte movePin = 3;
|
||
|
const byte relayPin = 4;
|
||
|
long lastmoveMillis = 0;
|
||
|
|
||
|
void setup() {
|
||
|
pinMode(movePin, INPUT);
|
||
|
pinMode(relayPin, OUTPUT);
|
||
|
digitalWrite(relayPin, HIGH);
|
||
|
}
|
||
|
|
||
|
void loop(){
|
||
|
if (digitalRead(movePin) == 1) lastmoveMillis = millis();
|
||
|
delay(100);
|
||
|
if (lastmoveMillis > 0) activateRelay();
|
||
|
}
|
||
|
|
||
|
void activateRelay() {
|
||
|
if ((millis() - lastmoveMillis) < lightDelay) digitalWrite(relayPin, LOW);
|
||
|
if ((millis() - lastmoveMillis) > lightDelay) {
|
||
|
digitalWrite(relayPin, HIGH);
|
||
|
lastmoveMillis = 0;
|
||
|
}
|
||
|
}
|