Cara mengakses modul display LCD 16×2

Cara mengakses modul display LCD 16×2

LCD 16×2 (Liquid Crystal Display) merupakan modul penampil data yang mepergunakan kristal cair sebagai bahan untuk penampil data yang berupa tulisan maupun gambar. Pengaplikasian pada kehidupan sehari – hari yang mudah dijumpai antara lain pada kalkulator, gamebot, televisi, atau pun layar komputer.

Jenis dari perangkat ini ada yang dan pada postingan ini akan dibahas tentang Tutorial Arduino mengakses LCD 16×2 dengan mudah, dimana mudah didapatkan ditoko elektronik terdekat.

Spesifikasi dari LCD 16×2

Adapun fitur – fitur yang tersedia antara lain

  • Terdiri dari 16 kolom dan 2 baris
  • Dilengkapi dengan back light
  • Mempunyai 192 karakter tersimpan
  • Dapat dialamati dengan mode 4-bit dan 8-bit
  • Terdapat karakter generator terprogram

Pin – pin LCD 16×2 dan keterangannya

Keterangan :

  1. GND : catu daya 0Vdc
  2. VCC : catu daya positif
  3. Constrate : untuk kontras tulisan pada LCD
  4. RS atau Register Select :
    • High : untuk mengirim data
    • Low : untuk mengirim instruksi
  5. R/W atau Read/Write
    • High : mengirim data
    • Low : mengirim instruksi
    • Disambungkan dengan LOW untuk pengiriman data ke layar
  6. E (enable) : untuk mengontrol ke LCD ketika bernilai LOW, LCD tidak dapat diakses
  7. D0 – D7 = Data Bus 0 – 7
  8. Backlight + : disambungkan ke VCC untuk menyalakan lampu latar
  9. Backlight – : disambungkan ke GND untuk menyalakan lampu latar

Tutorial Pertama

Bahan yang perlu dipersiapkan untuk Tutorial Arduino akses LCD 16×2 antara lain :

  • Arduino Uno
  • Komputer + Software IDE Arduino
  • LCD 16×2
  • Potensiometer
  • Kabel Jumper

Koding pemrograman

/* --- www.nyebarilmu.com --- */

#include <LiquidCrystal.h> //mengincludekan library LCD

//untuk urutannya RS, E, 4, 5, 6, 7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin yang disambungkan antara arduino dengan LCD

void setup()
{
//prosedur pemanggilan fungsi LCD
lcd.begin(16, 2);//16 = Baris, 2 = kolom
}

void loop() {
lcd.setCursor(00,00); //set pada baris 1 dan kolom 1
lcd.print("nyebarilmu.com"); //menuliskan "nyebarilmu.com"
lcd.setCursor(00,1);//set pada baris 2 dan kolom 1
lcd.print("Tutorial LCD16x2");
delay(3000); //waktu tunda 3 detik
lcd.clear();

//Tampilan kedua
lcd.setCursor(00,00); //set pada baris 1 dan kolom 1
lcd.print("Hallo Dunia!"); //menuliskan "Hallo Dunia"
lcd.setCursor(00,1); //set pada baris 2 dan kolom 1
lcd.print("coba coba ya");
delay(3000); //waktu tunda 3 detik
lcd.clear();
}

Hasil dari program diatas :

Hasil tutorial arduino mengakses lcd 16x2

Program kedua autoscroll

/* www.nyebarilmu.com */

#include <LiquidCrystal.h> //mengincludekan library LCD

//untuk urutannya RS, E, 4, 5, 6, 7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin yang disambungkan antara arduino dengan LCD

void setup() {
  lcd.clear();
//prosedur pemanggilan fungsi LCD
  lcd.begin(16, 2); //16 = Baris, 2 = kolom
}

void loop() {
  lcd.setCursor(00, 00);//set pada baris 1 dan kolom 1
  lcd.print("nyebarilmu.com");
  delay(1000);//waktu jeda 1 detik
  for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
    lcd.scrollDisplayLeft();
    delay(250);
  }
delay (1000);
  for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
    lcd.scrollDisplayRight();
    delay(250);
  }
  delay (1000); //waktu jeda 1 detik
  lcd.setCursor(00, 1); //set pada baris 2 dan kolom 1
   lcd.print("salam ilmu!");
  delay(1000);
  lcd.clear();
}

Hasil dari program diatas :

scroll teks lcd 16x2


Alternatif mengakses LCD 16×2

Untuk menghemat pin pin pada Arduino ada 1 modul LCD yang bisa manfaatkan untuk alternatif mengakses LCD yaitu modul LCD PCF8574. Pada modul tersebut menggunakan antarmuka atau interface I2C, sehingga hanya membutuhkan 2 pin saja yaitu SDA dan SCL.

Spesifikasi modul

  • Tegangan beroperasi antara 2-5 Vdc
  • Pada saat kondisi standby konsumsi arus hanya 10 uA
  • Kompatibel dengan semua jenis mikrokontroler
  • Kendali 8 bit menggunakan antarmuka i2c
  • Open-drain interrupt output

Pada pasaran sudah banyak dijumpai ic ini dikemas ke dalam modul LCD i2c, seperti gambar dibawah ini.

modul pc8574 lcd 16x2

Modul i2c ic pcf8574

Tutorial pertama menggunakan modul PCF8574

Bahan yang perlu dipersiapkan antara lain :

  • Arduino Uno
  • Komputer + Software IDE Arduino
  • Modul PCF8574
  • LCD 16×2
  • Kabel Jumper

Skema

Arduino uno + i2c LCD 16x2

Library yang dapat digunakan yaitu [ddownload id="1207"]

Peletakan Library pada OS :

  1. Mac : (home directory)/Documents/Arduino/libraries
  2. PC (Windows) : program files (x86) -> Arduino -> libraries
  3. Linux : (home directory)/sketchbook/libraries

Untuk alamat i2c LCD dapat digunakan i2c scanner seperti artikel posting sebelumnya.

[irp posts=”657″ name=”Cara mencari tahu alamat interface i2c module arduino”]

Kode Program

/* --- www.nyebarilmu.com --- */
#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x38);
// dapat dicek menggunakan i2c finder

int show;

void setup()
{
 int error;

 Serial.begin(9600);
 Serial.println("LCD...");

 while (!Serial);

 Serial.println("Dose: check for LCD");

 Wire.begin();
 Wire.beginTransmission(0x38);
 error = Wire.endTransmission();
 Serial.print("Error: ");
 Serial.print(error);
if (error == 00) {
 Serial.println(": LCD found.");

 } else {
 Serial.println(": LCD not found.");
 }

 lcd.begin(16, 2); //prosedur pemanggilan LCD
 show = 00;
}

void loop()
{
 if (show == 00) {
 lcd.setBacklight(255);
 lcd.home(); lcd.clear();
 lcd.print("Trial LCD");
 delay(1000);

 lcd.setBacklight(00);
 delay(400);
 lcd.setBacklight(255);

 } else if (show == 1) {
 lcd.clear();
 lcd.print("Cursor On");
 lcd.cursor();

 } else if (show == 2) {
 lcd.clear();
 lcd.print("Cursor Blink");
 lcd.blink();

 } else if (show == 3) {
 lcd.clear();
 lcd.print("Cursor OFF");
 lcd.noBlink();
 lcd.noCursor();

 } else if (show == 4) {
 lcd.clear();
 lcd.print("Display Off");
 lcd.noDisplay();

 } else if (show == 5) {
 lcd.clear();
 lcd.print("Display On");
 lcd.display();

 } else if (show == 7) {
 lcd.clear(); //menghapus data sebelumnya
 lcd.setCursor(00, 00); //set pada baris 1 dan kolom 1
 lcd.print("*Hello World*"); //menuliskan "Hello World"
 lcd.setCursor(00, 1); //set pada baris 2 dan kolom 1
 lcd.print("*nyebarilmu.com*"); //menuliskan "nyebarilmu.com"

 } else if (show == 8) {
 lcd.scrollDisplayLeft();
 } else if (show == 9) {
 lcd.scrollDisplayLeft();
 } else if (show == 10) {
 lcd.scrollDisplayLeft();
 } else if (show == 11) {
 lcd.scrollDisplayRight();
 }

 delay(2000);
 show = (show + 1) % 12;
}

Hasil i2 scanner :

I2 Scanner modul pcf8574

Sehingga dapat ditarik kesimpulan bahwa address untuk modul yang terpasang itu 0x38, dan itu perlu diisikan ke program diatas.

Hasil program diatas :hasil tutorial arduino mengakses modul pcf8574 lcd16x2

File untuk project yang menggunakan proteus bisa anda didapatkan dengan gratis :

[sociallocker id=”1344″] [ddownload id=”1209″] [/sociallocker]

Video tutorial

Selamat mencoba!
Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!

3 Comments

  1. Lukman

    Mas maksudnya set cursor, 00,01 gimana ha ?

    • sebenarnya itu tulisan lcd.SetCursor(0,1);

      artinya 0 : kolom ke 1,
      1 : baris ke 2

      karena diweb ini gunain plugin buat nampilin itu, maka kadang angka nol ny ada yang double atau kadang hilang

Leave a Reply to agus faudin Cancel reply

Your email address will not be published. Required fields are marked *