// Library LCD
#include <LiquidCrystal_I2C.h>

// set alamat I2C dan ukuran LCD
LiquidCrystal_I2C lcd(0x27,16,2);

// membuat karakter heart
byte Heart[] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};


void setup() {
  pinMode(2, OUTPUT);
  pinMode(13, INPUT_PULLUP);
  Serial.begin(115200);
  
  // setup LCD--
  lcd.init();
  lcd.clear();
  lcd.backlight();
  // membuat karakter baru
  lcd.createChar(0, Heart);
  // menampilkan karakter
  lcd.setCursor(0,0);
  lcd.print("##STATUS LAMPU##");

  for(int i=0; i<16; i++) {
    lcd.setCursor(i,1);
    lcd.write(0);
    delay(1000);
}
  for(int i=16; i>0; i--) {
    lcd.setCursor(i-1,1);
    lcd.print(" ");
    delay(1000);
  } 
}

void loop() {
  int status = digitalRead(13);
    lcd.setCursor(0,1);
    if(status == HIGH)
  {
    digitalWrite(2, HIGH);
    lcd.print("LAMPU MENYALA");
    //Serial.print("Switch ON, ");
    //Serial.println(status);
  } else {
    digitalWrite(2, LOW);
    lcd.print("LAMPU MATI ");
    //Serial.print("Switch OFF, ");
    //Serial.println(status);
  }
}