Amaliy qism.
Kerakli qismlar:
► Harakat sensori HC-SR501 x 1 dona.
► Rele moduli (1 kanal) x 1 dona.
► Transistor 2SC1213 x 1 dona.
► Tutqich x 1 dona 220V (75W) uchun chiroq.
► 5V quvvat manbai x 1 dona.
► DuPont simi, 2,54 mm, 20 sm, FM (Ayol - Erkak) x 1 dona.
Тестировалось на 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;
}
}
|