LCD 2×16 merupakan display LCD yang paling sering digunakan pada rangkaian mikrokontroler karena cukup untuk menampilkan informasi berupa text kepada pengguna. Display LCD mempunyai berbagai ukuran paling sering disebut dengan jumlah baris dan kemudian panjang garis layar. Misalnya layar LCD 1×16 akan memiliki satu baris dari enam belas karakter dan layar LCD 4×20 akan memiliki empat baris dengan dua puluh karakter.
Spesifikasi dari LCD 2×16
Contents
Spesifikasi LCD 2×16 yaitu
- 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 2×16 sebagai berikut
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
Rangkaian LCD 2×16 bila menggunakan I2C
Untuk menghemat penggunaan pin pada arduino, maka rangkaian diatas bisa kalian siasati dengan I2C. Bila menggunakan I2C kita dapat menyingkatnya menjadi 4 pin saja. Yaitu pin GND, VCC, SDA, dan SCL. Berikut adalah tampilan fisik dari I2C :
Kelebihan Menggunakan I2C pada LCD 2×16
- Sudah dalam bentuk modul yang siap untuk digunakan
- mendukung protokol I2C dengan coding yang lebih singkat
- Hanya 4 pin untuk pengendalian (GND, VCC, SDA dan SCL)
- Menghindari Error pada LCD seperti blank karena electro magnetic interference yang timbul akibat penggunaan relay ataupun sebagainya.
- Terdapat trimpot yang berfungsi untuk mengatur kecerahan lampu LCD
Rangkaian LCD 2×16 menggunakan I2C
- Berikan daya pada modul dengan cara menghubungkan pin VCC dan GND pada Arduino.
- Hubungkan pin SDA modul I2C dengan pin analog A5 dan hubungkan pin SCL dengan pin analog A4 Arduino.
Contoh kode nya
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); void setup(){ lcd.begin(); lcd.setCursor(4, 0); lcd.print("LCD I2C"); } void loop(){ // Do nothing here.. }
Pada program diatas alamat I2C yang digunakan yaitu 0x27,
Mencari alamat I2C
Pada saat kita beli modul I2C tidak tercantum alamat address i2c pada body modul tersebut untuk itu kita butuh scanner I2C untuk mencari alamatnya. Untuk mencari nilai alamat diatas, kalian bisa gunakan kode berikut
#include <Wire.h>; void setup(){ Wire.begin(); Serial.begin(9600); while (!Serial); Serial.println("\nI2C Scanner"); } void loop(){ byte error, address; int nDevices; Serial.println("Mencari Alamat I2C..."); nDevices = 0; for(address = 1; address < 127; address++ ){ Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0){ Serial.print("Alamat I2C kamu adalah = 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4){ Serial.print("Tidak ditemukan alamat 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("Tidak ditemukan alamat i2c\n"); else Serial.println("Selesai\n"); delay(5000); }
Rangkaian LCD 2×16 dengan I2C siap pakai
Dipasaran sudah banyak rangkaian LCD 2×16 dengan I2C yang siap pakai, harganya cukup murah yaitu 30ribuan saja. https://www.tokopedia.com/digitalapik/lcd-16×2-hijau-i2c-backpack-karakter-arduino-iic-green-1602-biru?whid=0
ref:
https://teknisibali.com/cara-program-i2c-untuk-masalah-lcd-error/
https://www.nyebarilmu.com/cara-mencari-tahu-alamat-interface-i2c-module-arduino/
https://symask.blogspot.com/2018/09/solusi-cepat-kegagalan-menampilkan-teks.html