LCD atau Liquid Crystal Display dapat digunakan untuk menampilkan tampilkan yang kita inginkan, selain itu kita juga dapat membuat menu untuk mangatur suatu alat. Dengan menggabungkan LCD dan button kita dapat dengan mudah membuat menu pada LCD.
Membuat Tampilan Menu Pada LCD Dengan Push Button
1. Alat / Bahan
- Arduino IDE Download disini
- Library: LiquidCrystal_I2C Download disini
- Arduino UNO 1 Buah
- LCD 1 Buah
- I2C 1 Buah
- Push button 2 Buah
- LED 2 Buah
- Resistor 2 Buah
- Project Board 1 Buah
- Kebal Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.
2. Skema Rangkaian
Gambar Rangkaian Membuat Tampilan Menu Pada LCD Dengan Push Button
Keterangan:
- 5V – VCC I2C,
- GND – GND I2C, Button 1, Button 2, LED 1, LED 2
- SDA – SDA I2C
- SCL – SCL I2C
- D2 – Button 1
- D3 – Button 2
- D8 – Kaki resistor 1
- D9 – Kaki resistor 2
- Kaki resistor 1 – Anoda LED 1
- Kaki resistor 2 – Anoda LED 2
3. Langkah Kerja
- Siapkan alat dan bahan yang akan digunakan
- Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Ketikkan sketch program pada halaman Arduino IDE
- Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
Mencari Tahu Alamat I2C Pada Modul I2C - Lakukan proses uploading program
4. Sketch Program
/* Program Membuat Tampilan Menu Pada LCD Dengan Push Button dibuat oleh Indobot */ #include <LiquidCrystal_I2C.h> //Library LCD I2C LiquidCrystal_I2C lcd(0x27,16,2); //Alamat I2C #define tombolSwitch 2 //Tombol ganti pada pin D2 #define tombolOk 3 //Tombol ok pada pin D3 #define led1 8 //LED 1 pada pin D8 #define led2 9 //LED 2 pada pin D9 bool LED1 = false; //Variabel kondisi LED 1 bool LED2 = false; //Variabel kondisi LED 2 void setup() { lcd.init (); //Mulai LCD lcd.setBacklight(HIGH); //Nyalakan backlight pinMode(tombolSwitch, INPUT_PULLUP); //Setting input pullup pinMode(tombolOk, INPUT_PULLUP); pinMode(led1, OUTPUT); //Setting output pinMode(led2, OUTPUT); //---------Tampilan Awal---------// lcd.setCursor(1,0); lcd.print("LED 1 = OFF"); lcd.setCursor(1,1); lcd.print("LED 2 = OFF"); } void loop() { //---------kondisi 1---------// set1: lcd.setCursor(0,0); lcd.print(">"); lcd.setCursor(0,1); lcd.print(" "); if(digitalRead(tombolSwitch) == LOW){ //Jika tombol switch ditekan, maka delay(200); goto set2; //Pindah ke kondisi 2 } else if(digitalRead(tombolOk) == LOW){ //Jika tombol ok ditekan, maka delay(200); cek_led1(); //Panggil prosedur cek LED goto set1; } else{goto set1;} //---------kondisi 2---------// set2: lcd.setCursor(0,0); lcd.print(" "); lcd.setCursor(0,1); lcd.print(">"); if(digitalRead(tombolSwitch) == LOW){ delay(200); goto set1; } else if(digitalRead(tombolOk) == LOW){ delay(200); cek_led2(); goto set2; } else{goto set2;} } void cek_led1(){ //Prosedur cek LED 1 if(LED1 == false){ //Jika LED mati, maka digitalWrite(led1, HIGH); //Nyalakan LED lcd.setCursor(9,0); lcd.print("ON "); LED1 = true; } else{ //Jika LED hidup, maka digitalWrite(led1, LOW); //Matikan LED lcd.setCursor(9,0); lcd.print("OFF"); LED1 = false; } } void cek_led2(){ if(LED2 == false){ digitalWrite(led2, HIGH); lcd.setCursor(9,1); lcd.print("ON "); LED2 = true; } else{ digitalWrite(led2, LOW); lcd.setCursor(9,1); lcd.print("OFF"); LED2 = false; } }
Kesimpulan:
Program bekerja dengan menampilkan display pada layar lcd. Display yang tertampil pada lcd sesuai dengan program yaitu “LED 1 = OFF” dan “LED 2 = OFF”. Kemudian kita coba untuk meyalakan lampu led, cobalah untuk mengeser atau switch dengan menggunakan button 1, untuk menyalakan lampu tekan tombol oke (button 2).