#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte ledpir = 4;
byte ledsar = 5;
byte ledzold = 6;
byte gyalogpir = 2;
byte gyalogzold = 3;
byte gomb = 7;
void setup() {
pinMode(ledpir, OUTPUT);
pinMode(ledsar, OUTPUT);
pinMode(ledzold, OUTPUT);
pinMode(gyalogpir, OUTPUT);
pinMode(gyalogzold, OUTPUT);
pinMode(gomb, INPUT_PULLUP);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Kezdés");
Serial.begin(9600);
}
void loop() {
digitalWrite(ledpir, HIGH);
digitalWrite(ledsar, LOW);
digitalWrite(ledzold, LOW);
digitalWrite(gyalogpir, LOW);
digitalWrite(gyalogzold, HIGH);
countDown(6000);
for (int i = 0; i < 5; i++) {
digitalWrite(gyalogzold, LOW);
delay(400);
digitalWrite(gyalogzold, HIGH);
delay(400);
}
digitalWrite(gyalogzold, LOW);
digitalWrite(ledpir, HIGH);
digitalWrite(ledsar, HIGH);
digitalWrite(ledzold, LOW);
digitalWrite(gyalogpir, HIGH);
delay(1000);
digitalWrite(ledpir, LOW);
digitalWrite(ledsar, LOW);
digitalWrite(ledzold, HIGH);
digitalWrite(gyalogpir, HIGH);
int delayTime = 15000;
unsigned long startTime = millis();
bool gombLenyomva = false;
while (millis() - startTime < delayTime) {
int remainingTime = (delayTime - (millis() - startTime)) / 1000;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ido: ");
lcd.print(remainingTime);
lcd.print(" sec");
delay(1000);
}
digitalWrite(ledpir, LOW);
digitalWrite(ledsar, HIGH);
digitalWrite(ledzold, LOW);
digitalWrite(gyalogpir, HIGH);
delay(2000);
}
void countDown(int time) {
int remainingTime = time / 1000;
while (remainingTime > 0) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ido: ");
lcd.print(remainingTime);
lcd.print(" sec");
delay(1000);
remainingTime--;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ido: 0 sec");
delay(1000);
}