#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);
}
}