#include <LiquidCrystal_I2C.h>
#define koda3 111
#define koda4 333
#define koda5 444
#define led3 3
#define led4 4
int del = 400;
int curTime = 0;
int stevecZnakov;
int index = 0;
long koda;
bool LED3 = false;
bool LED4 = false;
bool utrip = false;
bool m = LOW;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("vnesi kodo");
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
lcd.init();
lcd.setCursor(0,0);
lcd.print("LED3: off");
lcd.setCursor(0,1);
lcd.print("LED4: off");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()){
char vpis[3];
int stevZnakovVpis=Serial.readBytes(vpis,3);
koda = atol(vpis);
if(koda == koda3 && LED3 == false){
LED3=true;
lcd.setCursor(0,0);
lcd.print("LED3: on ");
}
else if(koda == koda3 && LED3 == true){
LED3=false;
lcd.setCursor(0,0);
lcd.print("LED3: off");
}
else if(koda == koda4 && LED4 == false){
digitalWrite(led4, HIGH);
LED4=true;
lcd.setCursor(0,1);
lcd.print("LED4: on ");
}
else if(koda == koda4 && LED4 == true){
digitalWrite(led4, LOW);
LED4=false;
lcd.setCursor(0,1);
lcd.print("LED4: off");
}
else if(koda == koda5){
utrip = true;
LED3 = true;
}
}
if(LED3 == true){
if(utrip == true){
utripa();
}
else{
utripanje();
}
}
}
void utripanje(){
if(millis()-curTime>del){
curTime = millis();
digitalWrite(led3,m);
m=!m;
}
}
void utripa(){
LED3 = false;
lcd.setCursor(0,0);
lcd.print("LED3: on ");
utrip=false;
for (int i = 1 ; i<=10 ; i++){
digitalWrite(led3, HIGH);
delay(400);
digitalWrite(led3, LOW);
delay(400);
}
lcd.setCursor(0,0);
lcd.print("LED3: off");
}
// link : https://wokwi.com/projects/397485564517320705