#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20 ,4);
int sw1 = 8;
int led1 = 0;
int led_status1 = 0;
int sw2 = 9;
int led2 = 1;
int led_status2 = 0;
int sw3 = 10;
int led3 = 2;
int led_status3 = 0;
void setup() {
  lcd.init();
  lcd.backlight();
  pinMode(sw1, INPUT_PULLUP);
  pinMode(led1, OUTPUT);
  lcd.setCursor(0,0);
  lcd.print("L1: OFF");
  pinMode(sw2, INPUT_PULLUP);
  pinMode(led2, OUTPUT);
  lcd.setCursor(8,0);
  lcd.print("L2: OFF");
  pinMode(sw3, INPUT_PULLUP);
  pinMode(led3, OUTPUT);
  lcd.setCursor(0,1);
  lcd.print("L3: OFF");
   
}

void loop() {

  if(digitalRead(sw1)==0){
      if(led_status1==0){
      digitalWrite(led1,1);
      led_status1 =1;
      lcd.setCursor(4,0);
      lcd.print("ON ");
  }else{
    digitalWrite(led1,0);
    led_status1 = 0;
    lcd.setCursor(4,0);
    lcd.print("OFF");
  }
  delay(200);

}
  if(digitalRead(sw2)==0){
      if(led_status2==0){
      digitalWrite(led2,1);
      led_status2 =1;
      lcd.setCursor(12,0);
      lcd.print("ON ");
  }else{
    digitalWrite(led2,0);
    led_status2 = 0;
    lcd.setCursor(12,0);
    lcd.print("OFF");
  }
    delay(200);
  }


  if(digitalRead(sw3)==0){
      if(led_status2==0){
      digitalWrite(led3,1);
      led_status3 =1;
      lcd.setCursor(4,1);
      lcd.print("ON ");
      digitalWrite(led2,1);
      led_status2 =1;
      lcd.setCursor(12,0);
      lcd.print("ON ");
      digitalWrite(led1,1);
      led_status1 =1;
      lcd.setCursor(4,0);
      lcd.print("ON ");
  }else{
    digitalWrite(led3,0);
    led_status3 = 0;
    lcd.setCursor(4,1);
    lcd.print("OFF");
    digitalWrite(led2,0);
    led_status2 = 0;
    lcd.setCursor(12,0);
    lcd.print("OFF");
    digitalWrite(led1,0);
    led_status1 = 0;
    lcd.setCursor(4,0);
    lcd.print("OFF");
  }
    delay(200);
  }
}