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 :
- GND : catu daya 0Vdc
- VCC : catu daya positif
- Constrate : untuk kontras tulisan pada LCD
- RS atau Register Select :
- High : untuk mengirim data
- Low : untuk mengirim instruksi
- R/W atau Read/Write
- High : mengirim data
- Low : mengirim instruksi
- Disambungkan dengan LOW untuk pengiriman data ke layar
- E (enable) : untuk mengontrol ke LCD ketika bernilai LOW, LCD tidak dapat diakses
- D0 – D7 = Data Bus 0 – 7
- Backlight + : disambungkan ke VCC untuk menyalakan lampu latar
- 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 :
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 :
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 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
Library yang dapat digunakan yaitu [ddownload id="1207"]
Peletakan Library pada OS :
- Mac : (home directory)/Documents/Arduino/libraries
- PC (Windows) : program files (x86) -> Arduino -> libraries
- 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 :
Sehingga dapat ditarik kesimpulan bahwa address untuk modul yang terpasang itu 0x38, dan itu perlu diisikan ke program diatas.
Hasil program diatas :
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!
skemanya untuk materi ini mana bos… yg Tutorial Pertama, tks
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