/* PROGRAM MENJALANKAN LCD + I2C DENGAN 3 PUSHBUTTON
* by Monsterchip
*
* credit:
*
* Program ini akan menjelaskan cara untuk menjalankan 1 buah LCD+I2C
* ditambah dengan 3 pushbutton untuk mengganti tulisan ketika pushbutton ditekan
*
*/
#include <LiquidCrystal_I2C.h> //memanggil library LCD+I2C
LiquidCrystal_I2C lcdku(0x27,16,2); //memberi nama pada lcd yg akan digunakan,
//dan setting alamat i2c lcd beserta jumlah kolom dan baris lcd
const int pushB1 = 2; //membuat variable pushB, dengan type data integer,
//dan mengisinya dengan nilai 2 (dalam hal ini kaki/pin
//yang akan digunakan untuk pushbutton1)
const int pushB2 = 3; //membuat variable pushB2, dengan type data integer,
//dan mengisinya dengan nilai 3 (dalam hal ini kaki/pin
//yang akan digunakan untuk pushbutton2)
const int pushB3 = 4; //membuat variable pushB3, dengan type data integer,
//dan mengisinya dengan nilai 4 (dalam hal ini kaki/pin
//yang akan digunakan untuk pushbutton3)
int nilaiPB1 = 0; //membuat variable pushB1, dengan type data integer,
//dan mengisinya dengan nilai 0 (dalam hal ini dibuat untuk menampung nilai
//pembacaan dari pushbutton1)
int nilaiPB2 = 0; //membuat variable pushB2, dengan type data integer,
//dan mengisinya dengan nilai 0 (dalam hal ini dibuat untuk menampung nilai
//pembacaan dari pushbutton2)
int nilaiPB3 = 0; //membuat variable pushB3, dengan type data integer,
//dan mengisinya dengan nilai 0 (dalam hal ini dibuat untuk menampung nilai
//pembacaan dari pushbutton3)
void setup() {
pinMode(pushB1, INPUT_PULLUP); //membuat kaki/pin (sesuai nilai) yg ada pada variable pushB1 sebagai INPUT
pinMode(pushB2, INPUT_PULLUP); //membuat kaki/pin (sesuai nilai) yg ada pada variable pushB2 sebagai INPUT
pinMode(pushB3, INPUT_PULLUP); //membuat kaki/pin (sesuai nilai) yg ada pada variable pushB3 sebagai INPUT
lcdku.init(); //menginisiasi/memulai lcd
lcdku.backlight(); //mengaktifkan bakclight pada lcd
lcdku.setCursor(2,0); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("Hai.. Kamu.."); //tulisan yg akan ditampilkan pada set cursor diatas
lcdku.setCursor(0,1); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("Iyya.. Kamu.. :p");//tulisan yg akan ditampilkan pada set cursor diatas
delay(3000); //jeda selama 3000ms (3 detik)
}
void loop() {
nilaiPB1 = digitalRead(pushB1); //memasukan nilai pembacaan pada kaki/pin pushB1 ke variable nilaiPB1 (1/0)
nilaiPB2 = digitalRead(pushB2); //memasukan nilai pembacaan pada kaki/pin pushB2 ke variable nilaiPB2 (1/0)
nilaiPB3 = digitalRead(pushB3); //memasukan nilai pembacaan pada kaki/pin pushB3 ke variable nilaiPB3 (1/0)
if(nilaiPB1 == 0){ //jika nilai pada variable nilaiPB1 berisikan nilai 0, maka:
lcdku.clear(); //membersihkan memory lcd agar tidak menampilkan apapun
lcdku.setCursor(1,0); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("S E L AA M A T"); //tulisan yg akan ditampilkan pada set cursor diatas
lcdku.setCursor(2,1); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("PB-1 Ditekan"); //tulisan yg akan ditampilkan pada set cursor diatas
delay(100); //jeda selama 100ms
}
else if(nilaiPB2 == 0){ //jika nilai pada variable nilaiPB2 berisikan nilai 0, maka:
lcdku.clear(); //membersihkan memory lcd agar tidak menampilkan apapun
lcdku.setCursor(1,0); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("S E L AA M A T");//tulisan yg akan ditampilkan pada set cursor diatas
lcdku.setCursor(2,1); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("PB-2 Ditekan"); //tulisan yg akan ditampilkan pada set cursor diatas
delay(100); //jeda selama 100ms
}
else if(nilaiPB3 == 0){ //jika nilai pada variable nilaiPB3 berisikan nilai 0, maka:
lcdku.clear(); //membersihkan memory lcd agar tidak menampilkan apapun
lcdku.setCursor(1,0); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("S E L AA M A T");//tulisan yg akan ditampilkan pada set cursor diatas
lcdku.setCursor(2,1); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("PB-3 Ditekan"); //tulisan yg akan ditampilkan pada set cursor diatas
delay(100); //jeda selama 100ms
}
else if(nilaiPB1 == 1 && nilaiPB2 == 1 && nilaiPB3 == 1){ //tetapi jika nilai pada variable nilaiPB1,nilaiPB2,nilaiPB3 berisikan nilai 1, maka:
lcdku.clear(); //membersihkan memory lcd agar tidak menampilkan apapun
lcdku.setCursor(0,0); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("Tekan dong PBnya"); //tulisan yg akan ditampilkan pada set cursor diatas
lcdku.setCursor(1,1); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("(((( ^__^ ))))"); //tulisan yg akan ditampilkan pada set cursor diatas
delay(100); //jeda selama 100ms
}
}