LCD I2C dengan Arduino
Papan penampil LCD display, khususnya LCD text pada postingan sebelumnya sudah kami bahas, silakan cek lagi : “Cara Menyambung LCD dengan Arduino”. Kesempatan kali ini akan kita kupas bagaimana koneksi LCD I2C dengan Arduino. Kenapa I2C ? betul, karena ngirit bin hemat pin. Coba sahabat hitung jika tanpa I2C maka sebuah LCD text akan memerlukan 6 pin Arduino (RS, E, D4, D5, D6, D7), sedangkan jika memakai koneksi I2C cukup 2 pin saja : SDA dan SCL. Kapan kita memerlukan koneksi I2C ? ya ketika pada aplikasi Arduino jumlah pin tidak cukup untuk sambungan LCD secara normal maka kita perlu memakai modul tambahan yaitu modul Backpack I2C Module LCD.
Seperti apa sih backpack I2C module LCD ? Ok langsung saja kita lihatin ya barangnya, agak kecilan sih, harganya juga relatif murah, tidak sampai 20 ribu. Terdapat 16 pin male di bagian atasnya, nantinya dikoneksikan dengan LCD , tinggal dimasukkan saja (sama – sama 16 pin) kemudian solder. Dibagian samping kiri ada 4 pin koneksi yang nantinya dihubungkan dengan Arduino.
- GND : terhubung dengan GND Arduino
- VCC : terhubung dengan 5V
- SDA : terhubung dengan pin SDA (A4)
- SCL : terhubung dengan pin SCL (A5)
Jumper backlight berfungsi untuk memilih apakah LED backlight (LED lampu latar LCD) nyala atau padam (opsional). Jika ingin LED nyala maka jumper pada posisi ON (terpasang).
A0, A1, A2 untuk pemilihan address (alamat) dari I2C. Pada kondisi default (tidak terhubung antara A0,A1,A2) maka alamatnya 0x27. hal ini
Ok langsung praktek saja ya, LCD I2C dengan Arduino UNO. Pertama kita siapkan kebutuhan komponennya.
- Arduino UNO
- LCD Display 16×2
- Backpack I2C module LCD
- Kabel konektor
Pasang konektor 16 pin di modul I2C ke pin LCD Display kemudian solder, jika sudah koneksikan dengan Arduino UNO seperti pada rangkaian berikut ini :
Pin SDA dan SCL di Arduino silakan cek label-nya di balik (bagian bawah) Arduino UNO. Bisa juga koneksi ke pin A4 untuk SDA dan pin A5 untuk SCL.
Untuk jenis Arduino yang lain menyesuaikan dengan konfigurasi pin-nya, berikut ini posisi atau letak pin SDA dan SCL pada beberapa jenis Arduino.
Pemrograman LCD I2C dengan Arduino.
Jika hardware sudah siap, berikutnya kita buat programnya. Sebelumnya siapkan library LiquidCrystal_I2C.h yang dapat sahabat sedot disini. Masukkan library tersebut ke folder libraries diman anda menyimpan aplikasi Arduino IDE atau dari menu Sketch -> Include Library -> Add .ZIP. Sekarang kita tulis programnya di Arduino IDE.
/************************************** * Modul I2C LCD dengan Arduino UNO * Koneksi modul I2C LCD dengan Arduino : * Vcc -- 5V * Gnd -- GND * SDA -- pin A4 * SCL -- pin A5 * www.ardutech.com * *********************************/ #include <Wire.h> // Library komunikasi I2C #include <LiquidCrystal_I2C.h> // Library modul I2C LCD // default address 0x27 // tipe LCD 16x2 (16,2) LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2); void setup() { // inisialisasi LCD: lcd.init(); lcd.backlight(); lcd.clear(); lcd.print("Modul I2C LCD"); lcd.setCursor(0, 1); lcd.print("www.ardutech.com"); } void loop() { }
Setelah selesai, simpan (save) kemudian Upload ke Arduino UNO. Hasilnya langsung tampak di LCD.
Kita lihat programnya sebentar ya. Bagian pertama pemakaian library untuk LCD I2C.
#include <Wire.h> // Library komunikasi I2C #include <LiquidCrystal_I2C.h> // Library modul I2C LCD
Selanjutnya seting alamat modul I2C LCD, secara default adalah 0x27. Kemudian tipe LCD nya 16 kolom 2 baris (16×2) sehingga inisialisasinya menjadi :
// default address 0x27 // tipe LCD 16x2 (16,2) LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
Pada program setup() pertama mengaktifkan LCD dengan backlight.
lcd.init(); lcd.backlight();
Selanjutnya perintah sama persis dengan tampilan LCD seperti biasanya.
lcd.print("Modul I2C LCD"); lcd.setCursor(0, 1); lcd.print("www.ardutech.com");
Untuk pindah ke baris 2 perintahnya setCursor(x,y), x adalah kolomnya (dimulai dari 0) dan y adalah barisnya (0 untuk baris 1, 1 untuk baris 2).
Alhamdulillah sudah selesai aplikasi Arduino kali ini, semoga bermanfaat.
Pingback: 2 LCD I2C Arduino
kalau text nya g mau muncul kira2 apanya ya? sdh tak puter2 masih sama. address msh default 0x27, padahal klo panggil lcd.noBacklight() masih berfungsi (lampu mati)
Ada kemungkinan address nya LCD mas, coba ganti nilai lain misal 0x3f