#include <LiquidCrystal_I2C.h>
#define LED2 9
#define LED3 10
#define KODA2_on 1234
#define KODA2_off 1230
#define KODA3_on 4545
#define KODA3_off 4540
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 2
LiquidCrystal_I2C lcd(I2C_ADDR,LCD_COLUMNS,LCD_LINES);
void setup() {
lcd.init();
lcd.setCursor(0,0);
Serial.begin(115200);
Serial.println("Vpisi kodo: ");
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
}
void loop() {
String res = "";
static bool i = false;
if(Serial.available()){
char vpis[4];
int steviloZnakovVpis = Serial.readBytes(vpis,4);
if(steviloZnakovVpis == 4){
vpis[4] = '\0';// terminator seznama vpis
int stevilka = atoi(vpis);
switch(stevilka){
case KODA2_on:
res = "LED2 vklop";
digitalWrite(LED2,HIGH);
break;
case KODA2_off:
res = "LED2 izklop";
digitalWrite(LED2,LOW);
break;
case KODA3_on:
res = "LED3 utripanje";
i = true;
digitalWrite(LED3,HIGH);
break;
case KODA3_off:
res = "LED3 izklop";
i = false;
digitalWrite(LED3,LOW);
break;
default:
res = "Poskusi ponovno:";
while(Serial.available()){Serial.read();}
break;
}
lcd.clear();
lcd.print(res);
}
}
static unsigned long trenutniCas;
static bool m = false;
int zakasnitev = 200;
if(millis() - trenutniCas > zakasnitev && i){
trenutniCas = millis();
digitalWrite(LED3,m);
m = !m;
}
}