Display LCD 2×16 character untuk mikrokontroler

By | April 4, 2022
1,576 Views

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

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 :

  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

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 :

See also  Pengertian dan Penggunaan Modul I2C: Memahami Komunikasi Serial Antar-Perangkat

Kelebihan Menggunakan I2C pada LCD 2×16

  1. Sudah dalam bentuk modul yang siap untuk digunakan
  2. mendukung protokol I2C dengan coding yang lebih singkat
  3. Hanya 4 pin untuk pengendalian (GND, VCC, SDA dan SCL)
  4. Menghindari Error pada LCD seperti blank karena electro magnetic interference yang timbul akibat penggunaan relay ataupun sebagainya.
  5. 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

See also  error cc1plus: error: too many filenames given

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