Arduino Project : Cara Mudah menggunakan LCD 1602 pada Arduino

Liquid-Crystal Display (LCD) merupakan salah satu komponen yang sering digunakan dalam berbagai project arduino. Dengan LCD, kita bisa dengan mudah membaca informasi hasil dari project kita. Hal ini membuat interaksi manusia-mesin menjadi lebih menyenangkan 🙂

Pada project kali ini, kita akan belajar bagaimana menggunakan LCD 1602 dalam suatu project arduino. LCD 1602 merupakan LCD yang memiliki spesifikasi 16 kolom dan 2 baris karakter. Adapun hal yang akan kita lakukan dalam project ini adalah menampilkan text berjalan (running text) pada LCD tersebut.

Sebelum kita mulai, ada baiknya kita pahami dulu beberapa hal terkait LCD seperti berikut ini. Sebuah LCD memiliki parallel interface, yang artinya bahwa microcontroller harus memanipulasi beberapa pin interface secara bersamaan agar dapat mengontrol display dari LCD tersebut. Adapun interface LCD terdiri dari pin-pin berikut :

  • Pin Register Select (RS) : pin ini mengontrol dimana kita akan menyimpan data pada memori LCD, apakah pada data register yang menyimpan apa-apa yang tampil di layar, atau pada instruction register yang menyimpan instruksi yang akan dilakukan selanjutnya.
  • Pin Read/Write (R/W) : pin ini digunakan untuk memilih reading mode atau writing mode
  • Pin Enable : pin ini digunakan untuk mengaktifkan penulisan ke register.
  • 8 pin Data (D0 -D7) : pin-pin ini merupakan data yang ditulis atau dibaca dari suatu register.
  • Selain itu, pin-pin lainnya digunakan untuk keperluan pengaturan display constrast (Vo), power supply (+5V and Gnd) dan LED Backlight (Bklt+ and BKlt-).

Proses penampilan display pada LCD meliputi beberapa proses berikut diantaranya yang pertama adalah proses penyimpanan data yang menggambarkan sesuatu yang ingin ditampilkan pada layar ke dalam data register, kemudian proses berikutnya adalah proses penyimpanan instruksi pada instruction register. Sekilas terlihat rumit, namun anda tidak perlu khawatir karena LiquidCrystal Library akan membantu kita menyederhanakan semua kerumitan proses di atas, sehingga kita bisa dengan mudah memanfaatkan LCD dalam project kita dan tidak perlu harus mengetahui low-level instruksinya.

Komponen :

  • Arduino Uno Board
  • LCD 1602
  • Potensiometer 10K Ohm
  • Resistor 220 Ohm
  • Pin Header (utk disolderkan ke pin LCD)
  • Kabel Jumper

Skema :

Sketch :

/*
LiquidCrystal Library – scrollDisplayLeft() and scrollDisplayRight()
Demonstrates the use a 16×2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch prints “Hello World!” to the LCD and uses the
scrollDisplayLeft() and scrollDisplayRight() methods to scroll
the text.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
modified 7 Nov 2016
by Arturo Guadalupi
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/LiquidCrystalScroll
*/
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int numRows = 2;
const int numCols = 16;
void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print(“Akbar & Keluarga”);
lcd.setCursor(0, 2);
lcd.print(” mengucapkan”);
delay(2000);
lcd.clear();
text1();
text2();
text3();
}
void text1() {
// Print a message to the LCD.
lcd.setCursor(16, 0);
lcd.print(“Selamat Idul Fitri”);
lcd.setCursor(16, 2);
lcd.print(” 1439 H”);
delay(1000);
for (int positionCounter = 0; positionCounter < 34; positionCounter++) {
lcd.scrollDisplayLeft();
delay(400);
}
lcd.clear();
}
void text2() {
// Print a message to the LCD.
lcd.setCursor(16, 0);
lcd.print(“Taqabbalallahu”);
lcd.setCursor(16, 2);
lcd.print(“Minna wa Minkum”);
//delay(1000);
for (int positionCounter = 0; positionCounter < 40; positionCounter++) {
lcd.scrollDisplayRight();
delay(400);
}
lcd.clear();
}
void text3() {
String reportString1 = “Mohon Maaf Lahir dan Bathin”;
String reportString2 = ” dan Bathin “;
// loop over the row 0:
for (int thisCol = 0; thisCol < numCols; thisCol++) {
// set the cursor position:
lcd.setCursor(thisCol, 0);
char karakter = reportString1.charAt(thisCol);
lcd.write(karakter);
delay(200);
}
// loop over the row 1:
for (int thisCol = 0; thisCol < numCols; thisCol++) {
// set the cursor position:
lcd.setCursor(thisCol, 1);
char karakter = reportString2.charAt(thisCol);
lcd.write(karakter);
delay(200);
}
delay(2000);
lcd.clear();
}

Pada sketch di atas kita akan menampilkan text dalam tiga buah fungsi. Fungsi yang pertama text1(), menampilkan running text yang berjalan dari kanan ke kiri. Fungsi kedua text2(), menampilkan running text yang berjalan dari kiri ke kanan. Sementara fungsi ketiga text3(), menampilkan running text yang berjalan dari kiri ke kanan dengan tampilan satu per satu karakter.

Fungsi pertama text1() menggunakan perintah lcd.scrollDisplayLeft() untuk menggerakkan text dari kanan ke kiri. Kemudian pada fungsi kedua text2() menggunakan perintah lcd.scrollDisplayRight() untuk menggerakkan text dari kiri ke kanan.

Sementara fungsi ketiga text3() menggunakan perintah lcd.setCursor(), substring(), charAt() dan beberapa perintah lainnya untuk menampilkan text berjalan seperti hasil ketikan mesin tik.

Demikian project kali ini, semoga bermanfaat dan terima kasih atas kunjungannya.

Referensi :
https://www.arduino.cc/en/Tutorial/HelloWorld
https://www.arduino.cc/en/Tutorial/LiquidCrystalSetCursor
http://www.circuitbasics.com/how-to-set-up-an-lcd-display-on-an-arduino/
https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/
https://www.arduino.cc/reference/en/language/variables/data-types/string/functions/substring
https://www.arduino.cc/reference/en/language/variables/data-types/string/functions/charat

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s