/* PROGRAM MENJALANKAN LCD + I2C DENGAN 1 PUSHBUTTON
* by Monsterchip
*
* credit:
*
* Program ini akan menjelaskan cara untuk menjalankan 1 buah LCD+I2C
* ditambah dengan 1 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 pushB = 2; //membuat variable pushB, dengan type data integer,
//dan mengisinya dengan nilai 2 (dalam hal ini kaki/pin
//yang akan digunakan untuk pushbutton)
int nilaiPB = 0; //membuat variable pushB, dengan type data integer,
//dan mengisinya dengan nilai 0 (dalam hal ini dibuat untuk menampung nilai
//pembacaan dari pushbutton)
void setup() {
pinMode(pushB, INPUT_PULLUP); //membuat kaki/pin (sesuai nilai) yg ada pada variable pushB 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"); //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("");//tulisan yg akan ditampilkan pada set cursor diatas
delay(3000); //jeda selama 3000ms (3 detik)
}
void loop() {
nilaiPB = digitalRead(pushB); //memasukan nilai pembacaan pada kaki/pin pushB ke variable nilaiPB (1/0)
if(nilaiPB == 0){ //jika nilai pada variable nilaiPB 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("perbanyak ibadah");//tulisan yg akan ditampilkan pada set cursor diatas
lcdku.setCursor(3,1); //set cursor tulisan yg akan ditampilkan, pada kolom ke berapa dan baris ke berapa
lcdku.print("jangan bosan bosan"); //tulisan yg akan ditampilkan pada set cursor diatas
delay(100); //jeda selama 100ms
}
else if(nilaiPB == 1){ //tetapi jika nilai pada variable nilaiPB 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("coba tekan");//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
}
}