#include <LiquidCrystal_I2C.h>
#define koda1 1111
#define koda2 2222
#define koda3 3333
#define LED3 3
#define LED4 4
int del = 500;
int curTime =0;
int stevecZnakov;
int index = 0;
int koda;
bool led3 = false;
bool led4 = false;
bool utrip = false;
bool m = LOW;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
Serial.begin(115200);
Serial.println("Vnesi kodo");
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
}
void loop() {
if(Serial.available()){
char vpis[4];
int stevZnakovVpis = Serial.readBytes(vpis,4);
koda = atol(vpis);
if(koda == koda1 && led3 == false){
digitalWrite(LED3, HIGH);
led3 = true;
lcd.setCursor(0,0);
lcd.print("LED3: ON");
}
else if(koda == koda1 && led3 == true){
digitalWrite(LED3, LOW);
lcd.setCursor(0,0);
lcd.print("LED3: OFF");
}
else if(koda == koda2 && led4 == false){
led4 = true;
lcd.setCursor(0,0);
lcd.print("LED4 utripanje");
}
else if(koda == koda2 && led4 == true){
digitalWrite(LED4, LOW);
led4 = false;
}
else if(koda == koda3){
utrip = true;
led4 = true;
}
}
if(led4 == true){
if(utrip == true){
utripa();
}
else{
utripanje();
}
}
}
void utripanje(){
if (millis() - curTime > del){
curTime = millis();
digitalWrite(LED4,m);
m = !m;
}
}
void utripa(){
led4 = false;
lcd.setCursor(0,1);
lcd.print("LED4:ON");
utrip = false;
for(int i = 1;i<10;i++){
digitalWrite(LED4, HIGH);
delay(400);
digitalWrite(LED4, LOW);
delay(400);
}
lcd.setCursor(0,1);
lcd.print("LED4: OFF");
lcd.clear();
}