Тестировалось на Arduino IDE 1.8.0
Дата тестирования 12.08.2016г.
*/
int detectedLED = 13; // Указываем пин
int readyLED = 12; // Указываем пин
int waitLED = 11; // Указываем пин
int pirPin = 7; // Указываем пин датчика
int motionDetected = 0; // Переменная
для обнаружения движения
int pirValue; // Переменная для
сохранения значения из PIR
void setup()
{
pinMode(detectedLED, OUTPUT); //
Установка пин как выход
pinMode(readyLED, OUTPUT); // Установка пин как выход
pinMode(waitLED, OUTPUT); // Установка пин как выход
pinMode(pirPin, INPUT); //
Установка пин как вход
// Начальная задержка 1 минута, для стабилизации датчика//
digitalWrite(detectedLED, LOW);
digitalWrite(readyLED, LOW);
digitalWrite(waitLED, HIGH);
delay(60000);
digitalWrite(readyLED, HIGH);
digitalWrite(waitLED, LOW);
}
void loop()
{
pirValue = digitalRead(pirPin); // Считываем значение от датчика движения
if (pirValue == 1) //
Если движение есть, делаем задержку в 3 с.
{
digitalWrite(detectedLED, HIGH);
motionDetected = 1;
delay(3000);
}
else
{
digitalWrite(detectedLED, LOW);
}
// Задержка после срабатывания //
if (motionDetected == 1)
{
digitalWrite(detectedLED, LOW);
digitalWrite(readyLED, LOW);
digitalWrite(waitLED, HIGH);
delay(6000);
digitalWrite(readyLED, HIGH);
digitalWrite(waitLED, LOW);
motionDetected = 0;
}
}