Hello sahabat Robonesia, pada artikel kali ini, kita akan membuat proyek embedded system sederhana, yaitu Arduino project mengendalikan tampilan (display) komponen liquid crystal display (LCD) 16 x 2 karakter dengan interface mode 4-bit (via pin D4 – D7). Berikut ini adalah langkah-langkahnya:
Step 1: Menyiapkan Kebutuhan Hardware & Software
Dalam Arduino project kali ini, kita membutuhkan komponen hardware dan software. Berikut ini adalah rincian kebutuhan proyeknya:
A. Kebutuhan hardware:
1. Board Arduino (1x)
2. Arduino Uno/Nano expansion board (1x).
3. LED Red/Yellow (8x)
4. Resistor 220 Ω (8x)
5. Kabel jumper
6. Kabel USB
B. Kebutuhan software:
1. Software Arduino IDE, Link download
2. Library LiquidCrystal.h, Link download
Gambar 1. Rincian kebutuhan proyek (hardware dan software)
Step 2: Instalasi (Wiring) Hardware
Hubungkan kaki-kaki Arduino board (Pada proyek kali ini kita menggunakan Arduino Nano 33 IoT) dengan kaki-kaki modul LCD (16×2 karakter) dengan mengikuti skematik pada gambar 2 atau table 1.
Gambar 2. Skematik elektronika (wiring diagram)
Antarmuka antara board Arduino dengan modul LCD dilakukan secara parallel melalui jalur data D4, D5, D6, dan D7. Kemudian untuk pengaturan kontras tampilan LCD dilakukan dengan komponen variabel resistor (VR = 20K) yang dihubungkan dengan kaki atau pin Vo (Contrast) yang ada pada modul LCD. Instalasi (Wiring) komponen hardware dapat dilakukan dengan menggunakan project-board.
Tabel 1. Wiring hardware
Step 3: Menulis Program (Sketch)
Program 1 bertujuan untuk menampilkan teks pada display LCD 16×2 karakter. Pada baris ke-1, akan ditampilkan kalimat, “Hello Sahabat.” Kemudian pada baris ke-2, akan ditampilkan kalimat, “Robonesia >>>>>.”
Program 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// Tujuan program: Menampilkan text pada LCD 2x16 karakter #include <LiquidCrystal.h> const int PIN_RS = 2; const int PIN_E = 3; const int PIN_DB4 = 4; const int PIN_DB5 = 5; const int PIN_DB6 = 6; const int PIN_DB7 = 7; LiquidCrystal lcd(PIN_RS, PIN_E, PIN_DB4, PIN_DB5, PIN_DB6, PIN_DB7); void setup() { lcd.begin(16, 2); } void loop() { lcd.setCursor(0, 0); lcd.print("Hello Sahabat"); lcd.setCursor(0, 1); lcd.print("Robonesia >>>>>>"); lcd.display(); // Tampilkan teks delay(5000); } |
Program 2 bertujuan untuk menampilkan teks pada disply LCD 16×2 karakter. Pada baris ke-1, akan ditampilkan kalimat, “Belajar Robotika.” Kemudian pada baris ke-2, akan ditampilkan kalimat, “di Robonesia.” Yang membedakan antara tampilan pada LCD dengan program 1 dan program 2 adalah teks pada program 2 bergeser ke arah kanan (Scroll Right) secara berulang.
Program 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
// Tujuan program: Menampilkan text bergeser pada LCD 2x16 karakter #include <LiquidCrystal.h> const int PIN_RS = 2; const int PIN_E = 3; const int PIN_DB4 = 4; const int PIN_DB5 = 5; const int PIN_DB6 = 6; const int PIN_DB7 = 7; // Setting pin LCD LiquidCrystal lcd(PIN_RS,PIN_E, PIN_DB4, PIN_DB5, PIN_DB6, PIN_DB7); void setup() { lcd.begin(16, 2); } void loop() { lcd.clear(); lcd.print("Belajar Robotika"); lcd.setCursor(0, 1); lcd.print("di Robonesia"); delay(500); // Gerak ke kanan for (int pos = 0; pos < 16; pos++) { lcd.scrollDisplayRight(); delay(200); } } |
Step 4: Kompilasi Program & Mengirimnya ke Dalam Chip Mikrokontroler
Setelah program selesai dibuat (Program1 dan program 2), langkah selanjutnya adalah mengirim (Upload) program menuju chip mikrokontroller yang tertanam pada Arduino board dan melihat hasil kerja kita pada proyek mengendalikan nyala LED. Jika tampilan pada LCD sudah sesuai dengan harapan kita, maka itu artinya proyek Arduino kita ini telah berhasil dengan baik.
Gambar3. Display teks pada LCD 16×2 karakter
Untuk tutorial mengendalikan nyala LED menggunakan Arduino board selengkapnya, silakan sahabat Robonesia simak pada video berikut:
Tips dan Kesalahan Umum
Beberapa hal yang sering menjadi masalah saat mengerjakan proyek Arduino dengan LCD 16×2 karakter:
1. Layar tidak menyala.
Solusi: Cek tegangan VDD dan kontras V0.
2. Karakter tidak terlihat.
Solusi: Atur potensiometer.
3. Muncul karakter aneh (tidak diharapkan).
Solusi: Pastikan kabel D4–D7 terpasang dengan benar dan konsisten dengan program yang dibuat. Jangan lupa ground untuk pin R/W (Read/Write) pada LCD agar hanya bekerja dalam mode tulis.