int led1 = 2;
int led2 = 3;
int led3 = 4;
int pir = 13;
int pir_value;
int humadity;
int one;
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(pir, INPUT);
}
void loop() {
delay(2000);
pir_value = digitalRead(pir); //зчитати сигнал з пір сенсора
// умова: якщо рух є, то увімкнути світлодіод і вивести напис
if (pir_value == 1) {
digitalWrite(led1, HIGH);
Serial.println("Зафіксовано рух!");
}
else {
digitalWrite(led1, LOW);
Serial.println("Руху немає.");
}
// так як датчик вологості відсутній, то скористаємося потенціометром
// з 0 - 1023 кроків перейдемо до 0 - 100
humadity = analogRead(A0);
humadity = map(humadity, 0, 1023, 0, 100);
humadity = constrain(humadity, 0, 100); // обрізати дані, на випадок якщо вони вийдуть за межу
// умова: якщо вологість менще 60, то увімкунти світлодіод і вивести напис
if (humadity < 60) {
digitalWrite(led2, HIGH);
Serial.println("Низький рівень вологості!");
Serial.println();
}
else {
digitalWrite(led2, LOW);
Serial.println("Вологість в нормі.");
Serial.println();
}
// зчитати інформацію з компорта. Коли надсилається одиниця, то вмикається світлодіод.
// якщо нуль, то світлодіод вимкнеться
if (Serial.available() > 0) {
one = Serial.read();
one = char (one);
one = one - '0';
}
if (one == 1) {
digitalWrite(led3, HIGH);
}
if (one == 0) {
digitalWrite(led3, LOW);
}
}