#include <LiquidCrystal_I2C.h> // Бібліотека для роботи з LCD по I2C.
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2c адреса дисплея, колонки, рядки.
unsigned long timing; // Переменная для хранения точки отсчета
int count = 0; // Змінна для лічильника.
int sensorPin = 7;
int ledPin1 = 6;
int relay = 5;
void setup()
{
lcd.init(); // Ініціалізуємо дисплей.
lcd.backlight(); // Вмикаємо підсвітку.
lcd.setCursor(0, 0); // Курсор на першу колонку, перший рядок.
lcd.print("VOOPSHE"); // Виводимо текст.
lcd.setCursor(7, 1); // Курсор на 6 колонку, 2 рядок.
lcd.print("MODNUI"); // Виводимо текст.
delay(2000); // Спимо 2 секунди.
lcd.clear(); // Очищаємо весь дисплей.
lcd.setCursor(0, 0); // Курсор на першу колонку, перший рядок.
lcd.print("AUTO AIR FRESHER"); // Виводимо текст.
// Виводимо текст.
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(relay, OUTPUT);
}
void loop()
{
//lcd.setCursor(0, 1); // Курсор на першу колонку, другий рядок.
//lcd.print(count); // Виводимо лічильник.
//count++; // Збільшуєм лічильник на одиницю.
//delay(1000); // Спимо 1 секунду.
if (millis() - timing > 120000){ // Вместо 10000 подставьте нужное вам значение паузы
timing = millis();
Serial.println ("Розпилення!");
lcd.setCursor(1, 1); // Курсор на першу колонку, другий рядок.
lcd.print("***ACTION***");
delay(2000); // Спимо 2 секунди.
lcd.clear(); // Очищаємо весь дисплей. // Виводимо лічильник.
digitalWrite(ledPin1, HIGH);
digitalWrite(relay, HIGH);}
int state = digitalRead(sensorPin);
if(state == 0) {
delay (1000);
digitalWrite(ledPin1, LOW);
digitalWrite(relay, LOW);
} else if(state == 1){
(millis() - timing > 15000);// Вместо 10000 подставьте нужное вам значение паузы
timing = millis();
Serial.println ("хтось ходить - пауза");
lcd.setCursor(3, 1); // Курсор на першу колонку, другий рядок.
lcd.print("***PAUSE***");
delay(2000); // Спимо 2 секунди.
lcd.clear(); // Очищаємо весь дисплей.
delay (1000);} {
digitalWrite(ledPin1, LOW);
digitalWrite(relay, LOW);
}
}