Bersama lagi dengan kami, kali ini kami akan memberikan contoh bagaimana memprogram sebuah LCD 16×2 menggunakan Arduino Uno. Seperti yang kita tahu bahwa LCD merupakan komponen yang penting digunakan untuk menampilkan data-data hasil perhitungan, pengukuran, dan lain-lain. Tanpa membuang-buang waktu kita langsung saja.
Pertama mari kita kenali dulu LCD 16×2.
LCD 16×2 memiliki 16 pin, yang memiliki kemampuan menampilkan 32 karakter dalam dua baris artinya dalam setiap baris dapat menampilkan 16 karakter.
Untuk konfigurasi pinnya mari kita lihat tabel berikut ini:
Pin 1 | GND |
Pin 2 | +5V |
Pin 3 | Potentiometer (untuk mengatur kecerahan) |
Pin 4 | Register select (RS) |
Pin 5 | Read/Write (RW) |
Pin 6 | Enable (EN) |
Pin 7 | DB0 |
Pin 8 | DB1 |
Pin 9 | DB2 |
Pin 10 | DB3 |
Pin 11 | DB4 |
Pin 12 | DB5 |
Pin 13 | DB6 |
Pin 14 | DB7 |
Pin 15 | +5V |
Pin 16 | GND |
Deskripsi Pin:
Data Pin: Pin7 sampai Pin14
GND: Pin Ground dari module LCD
+5V: Pin masuknya tegangan 5 Volt
RS: Pin register yang digunakan untuk memilih register. Ada dua register yaitu data register dan instruction register. Data register mengirimkan data ke layar LCD ketika instruction register mengirimkan perintah ke LCD’s controller. Dimana perintahnya yaitu:
Logic High (1) – Mengaktifkan Data register
Logic Low (0) – Mengaktifkan Instruction register
RW: digunakan untuk memilih antara read atau write mode.
Logic High (1) – Mengaktifkan Read mode
Logic Low (0) – Mengaktifkan Write mode
EN (Enable): untuk mengaktifkan modul LCD
Untuk praktiknya marilah pertama kali kita membuat rangkaiannya terlebih dahulu.
Komponen yang diperlukan:
- LCD 16×2
- Arduino Uno
- Project board
- Potensiometer/ variabel resistor 10k
- kabel jumper
Dengan rangkaian sebagai berikut:
Kemudian langkah-langkah dalam melakukan program LCD yaitu:
1. Mendefinisikan Pin LCD
Untuk mendefinisikan pin LCD kita bisa menggunakan header “LiquidCrystal ” sampean bisa cari di menu “sketch –> include library –> LiquidCrystal” apabila belum terinclude di Arduino IDE sampean agan dapat download disini. Setelah berhasil didownload dan sudah diinclude ke Arduino IDE (apabila agan belum tahu cara include library ke Arduino IDE dapat dilihat disini). Mari kita pelajari format penulisannya seperti di bawah ini.
LiquidCrystal NamaVariabel(pin RS, pin EN, pin D4, pin D5, pin D6, pin D7);
Contoh inisialisasi pin:
pin LCD –> pin Arduino
RS –> 0
EN –> 1
D4 –> 2
D5 –> 3
D6 –> 4
D7 –> 5
maka penulisan programnya sebagai berikut:
LiquidCrystal lcd(0, 1, 2, 3, 4, 5);
2. Inisialisasi Jumlah baris dan kolom
LCD memiliki beberapa jenis contohnya 8×2, 16×2, 20×2, 20×4 dan lain-lain. untuk inisialisasi digunakan syntax “lcd.begin(jumlah kolom, jumlah baris);” misalnya kita ingin menggunakan LCD 16×2 maka penulisan programnya:
lcd.begin(16,2);
3. Menentukan posisi kursor karakter
penentuan kursor ini dimaksudkan untuk meletakkan posisi huruf pertama dalam tampilan layar LCD. Penentuan posisi ini harus tepat karena apabila tidak tepat maka akan menindih karakter lain. Ingat bahwa setiap baris dan kolom pada LCD selalu diawali dari 0, sehingga barisnya mulai 0-1 dan kolomnya 0-15. Untuk menentukan posisi tulisan kita dapat menggunakan syntax “lcd.setCursor(kolom, baris);”
Contoh penulisannya:
lcd.setCursor(0,0); //artinya memposisikan awal karakter pada kolom ke 0 dan baris ke 0
4. Menampilkan huruf/karakter
untuk menampilkan huruf atau karakter kita dapat menggunakan syntax “lcd.print(” “);” sehingga apabila dicontohkan penulisannya sebagai berikut:
lcd.print(“Hello World”);
lcd.print(“apa kabar”);
5. Menampilkan data (nilai) dari suatu variabel
Apabila kita memiliki suatu variabel tertentu dan memiliki nilai di dalamnya kita dapat menampilkannya dengan menggunakan syntax “lcd.print(variabel);” sehingga contoh penulisannya sebagai berikut:
int x = 100;
lcd.print(suhu);
6. Mengosongkan karakter pada LCD
Untuk mengosongkan karakter pada LCD kita dapat menggunakan syntax “lcd.clear();”.
Untuk lebih memahami tentang materi-materi di atas alangkah lebih baiknya kita langsung mempraktekannya. Berikut contoh programnya:
// include the library code: #include <LiquidCrystal.h> // memasukan library untuk lcd LiquidCrystal lcd(0,1,2,3,4,5); // pendefinisian pin int data=100; // variable data void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // inisialisasi lcd 16x2 } void loop() { lcd.clear(); //mengosongkan karakter pada LCD dahulu lcd.setCursor(0,0); //atur kursor pada kolom ke 0 dan baris ke 0 lcd.print(" Hello World"); //menampilkan karakter Hello World lcd.setCursor(0,1); //atur kursor pada kolom ke 0 dan baris ke 1 lcd.print("Data: "); //menampilkan karakter Data: lcd.setCursor(6,1); //atur kursor pada kolom ke 6 dan baris ke 1 lcd.print(data); //menampilkan nilai variabel data delay(1000); //digunakan untuk menahan program yang sedang berjalan selama 1000 ms atau 1 detik }