// Program prebere niz znako iz serijskega porta (4 števke)
/* Če niz znakov ustreza kombinaciji:
 - 5461 se izpiše (vklop LED1) in prižge LED1
 - 5460 se izpiše (izklop LED1) in ugasne LED1
 - 1234 se izpiše ()
 - 1234 se izpiše ()
 - 1234 se izpiše ()
 - 1234 se izpiše () 
 - 1234 se izpiše ()
*/

/*
//če vpišeš 5461 se prižge LED
#define LED 8
#define KODA 5461

void setup() {
  Serial.begin(9600);
  Serial.println("Vpisi kodo: ");
  pinMode(LED, OUTPUT);
}

void loop() {
  if (Serial.available()) {          // AVAILABLE preveri če je vnešen kakšen znak, potem šele izvede Loop
    char vpis[5];
    int steviloZnakovVpis = Serial.readBytes(vpis, 4);
    if (steviloZnakovVpis == 4) {
      //  vpis[4] = '\0';  // terminator seznama vpis
      int stevilka = atoi(vpis);          // STR to INT
      if (stevilka == KODA) {
        Serial.println("dostop je");
        digitalWrite(LED, HIGH);
      }
      else {
        Serial.println("poskusi ponovno");
        digitalWrite(LED, LOW);
        while (Serial.available()) Serial.read();
      }
    }
  }
}
*/

#include <LiquidCrystal_I2C.h>

#define I2C_ADDR      0x27
#define LCD_COLUMNS   16
#define LCD_LINES     2

LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);

#define LED1 8
#define LED2 9

#define KODA1_on 5461
#define KODA1_off 5460
#define KODA2_on 1234
#define KODA2_off 1230


void setup() {
  Serial.begin(9600);
  Serial.println("Vpisi kodo: ");
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  lcd.init();
  lcd.print("Vpisi kodo:");
}

void loop() {
  if (Serial.available()) {
    char vpis[5];
    int steviloZnakovVpis = Serial.readBytes(vpis, 4);
    if (steviloZnakovVpis == 4) {
      //  vpis[4] = '\0';  // terminator seznama vpis
      int stevilka = atoi(vpis);          // STR to INT
      switch(stevilka) {
        case KODA1_on:
          Serial.println("LED1 vklop");
          digitalWrite(LED1, HIGH);
          lcd.setCursor(0,1);
          lcd.clear();
          lcd.print("LED1 vklop");
          break;

        case KODA1_off:
          Serial.println("LED1 izklop");
          digitalWrite(LED1, LOW);
          lcd.setCursor(0,1);
          lcd.clear();
          lcd.print("LED1 izklop");
          break;
        
        case KODA2_on:
          Serial.println("LED2 vklop");
          digitalWrite(LED2, HIGH);
          lcd.setCursor(0,1);
          lcd.clear();
          lcd.print("LED2 vklop");
          break;

        case KODA2_off:
          Serial.println("LED2 izklop");
          digitalWrite(LED2, LOW);
          lcd.setCursor(0,1);
          lcd.clear();
          lcd.print("LED2 izklop");
          break;

        default:
          Serial.println("poskusi ponovno");
          lcd.clear();
          lcd.print("poskusi ponovno");
          while (Serial.available()) Serial.read();
          break;
      }
    }
  }
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
r1:1
r1:2
led2:A
led2:C
r2:1
r2:2
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL