#include <LiquidCrystal_I2C.h> //ini adalah library program untuk LCD I2C wajib ada!
LiquidCrystal_I2C lcd(0x27, 16, 2); //ini adalah settingan alat koneksi LCD wajib ada!

//fungsi-fungsi pada library LCd I2C :
//1. lcd.init() => fungsi inisialisasi LCD dan ini wajib ada dan ditempatkan di void setup
//2. lcd.backlight() => fungsi menghidupkan cahaya latar LCD wajib ada agar tulisan terlihat jelas 
//3. lcd.setCursor(kolom_ke , baris_ke) => fungsi untuk memulai tulisan dari posisi yg dimnau
//4. lcd.print(kata) => fungsi memunculkan tulisan (gunakan "" untuk menulis kata)

#define BUTTON1 34 //mendefinisikan pin 34 sebagai BUTTON1
#define BUTTON2 35 //mendefinisikan pin 35 sebagai BUTTON2

int button1 = 0; //variabel untuk button1
int button2 = 0; //variabel untuk button2

int data = 100; //contoh variabel berisi data 100

void setup() { //void setup() hanya berjalan satu kali
 pinMode(BUTTON1, INPUT); //set BUTTON1 sebagai INPUT
 pinMode(BUTTON2, INPUT); //set BUTTON2 sebagai INPUT

 lcd.init(); //inisiaisasi
 lcd.backlight(); //on backlagth LCD
 lcd.setCursor(4,0); //mulai dari kolom ke-5 dan baris ke-0
 lcd.print("SEKOLAH"); //print tulisan
 lcd.setCursor(0,1); //mulai dari kolom ke-0 dan baris ke-1
 lcd.print("KELAS"); //print tulisan
 delay(5000); //tunda waktu
 lcd.clear(); //clear semua tulisan
 lcd.print(data); //print isi dari variabel data
 delay(5000); //tunda waktu
 lcd.clear(); //clear semua tulisan
}

void loop(){
  button1 = digitalRead(BUTTON1); //memasukan data input ke variabel button1
  button2 = digitalRead(BUTTON2); //memasukan data input ke variabel button2

  if(button1 == 1){ //jika BUTTON1 ditekan maka variabel button1 = 1
    lcd.setCursor(0,0); //mulai dari kolom ke-0 dan baris ke-0
    lcd.print("Baris Ke-0      "); //print tulisan
    lcd.setCursor(0,1); //mulai dari kolom ke-0 dan baris ke-1
    lcd.print("Baris Ke-1      "); //print tulisan
  }
  else{
    lcd.setCursor(0,0);
    lcd.print("tekan tombol    ");
    lcd.setCursor(0,1);
    lcd.print("                "); //print blank
  }

  //NOTE :
  //untuk logika if sama dengan dari menggunakan double sama dengan (==)
  //jika menggunakan single (=) maka akan error karena single sama dengan hanya untuk perhitungan
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
r1:1
r1:2
r2:1
r2:2