#define LED 3
#define KODA_on 777111
#define KODA_off 777222
#define utripanje 777333
#define utripanjeDeset 777444
unsigned long trenutniCas;
int zakasnitev = 400;
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(LED, OUTPUT);
Serial.println("Vpiši kodo:");
trenutniCas = millis();
}
void loop() {
static bool UTRIP = false;
if(Serial.available()){
char vpis[6];
int steviloZnakov = Serial.readBytes(vpis, 6);
if(steviloZnakov == 6){
int stevilka = atoi(vpis);
switch (stevilka) {
case KODA_on:
Serial.println("LED vklop");
digitalWrite(LED,HIGH);
lcd.setCursor(0,1);
lcd.clear;
lcd.print("LED vklop");
break;
case KODA_off:
Serial.println("LED izklop");
digitalWrite(LED, LOW);
lcd.setCursor(0.1);
lcd.clear;
lcd.print("LED izklop");
break;
case utripanje:
Serial.println("LED utrip");
lcd.setCursor(0,1);
lcd.clear;
lcd.print("LED utrip");
UTRIP = true;
break;
case utripanjeDeset:
Serial.println("LED utrip 10x");
lcd.setCursor(0,1);
lcd.clear;
lcd.print("LED utrip 10x");
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
delay(300);
digitalWrite(LED,HIGH);
delay(300);
digitalWrite(LED, LOW);
break;
default:
Serial.println("Napačen znak");
lcd.setCursor(0,1);
lcd.clear;
while(Serial.available()) {
Serial.read();
}
}
}
else{
Serial.println("Napaka, ponovni vnos");
}
}
static bool m = false;
if (((millis() - trenutniCas) > zakasnitev) && UTRIP){
m = !m;
digitalWrite(LED,m);
trenutniCas = millis();
}
}