I2c LCD terdiri dari modul i2c dan LCD 16×2, jika kita koneksi Arduino dengan LCD 16×2 maka diperlukan setidaknya 12 kabel. Supaya kabel koneksi LCD ke Arduino lebih sedikit maka dibuat modul i2c. i2c adalah kepanjangan dari inter-IC (integrated circuit). Pin yang terhubung ke LCD sebanyak 16 pin sedangkan yang terhubung ke Arduino sebanyak 4 pin. Perhatikan gambar di bawah ini:
Gambar 1. Tampak belakang i2c LCD (sumber: bukalapak.com)
Koneksi i2c dengan Arduino dapat dilihat pada tabel di bawah ini:
Supaya lebih jelas, perhatikan pinout Arduino Uno berikut ini:
Gambar 2. Pinout Arduino Uno (sumber: theengineeringprojects.com)
Koneksi antara I2C LCD dengan Arduino dapat dilihat pada gambar di bawah ini:
Gambar 3. Koneksi I2C LDC dengan Arduino
Setelah dihubungkan I2C LCD 16×2 dengan Arduino selanjutnya koneksi Arduino dengan computer / laptop.
Melakukan scan alamat modul i2c
1. Gunakan sintaks di bawah ini:
//Youtube: Muhammad Pauzan //Blog: pauzan.com #include <Wire.h> void setup() { Wire.begin(); Serial.begin(9600); Serial.println("\nI2C Scanner"); } void loop() { byte error, address; int Devices; Serial.println("Scanning..."); Devices = 0; for(address = 1; address < 127; address++ ) { Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("modul I2C ditemukan pada alamat 0x"); if (address < 16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); Devices++; } else if (error==4) { Serial.print("Error yang tidak diketahui pada alamat 0x"); if (address < 16) Serial.print("0"); Serial.println(address,HEX); } } if (Devices == 0) Serial.println("modul I2C tidak ditemukan\n"); else Serial.println("Selesai\n"); delay(5000); }
2. Jangan lupa sebelum diupload ke board Arduino terlebih dahulu dicek pada tools > Boards > pilih “Arduino Uno”.
3. Cek juga portnya, pilih tools > ports > lalu pilih port dimana Arduino terkoneksi
4. Lalu klik “upload”, jika sudah selesai buka serial monitor yang ada di sebelah kanan atas. Hasilnya dapat dilihat pada gambar di bawah ini:
Gambar 4. Alamat modul i2c LCD
5. Dicatat alamatnya (0x27), akan digunakan pada koding berikutnya.
Interface I2C LCD 16×2 dengan Arduino Uno
1. Setelah berhasil mencatat alamat modul I2C, selanjutnya download library I2C LCD 16×2 pada link di bawah ini:
Arduino-LiquidCrystal-I2C-library-master
2. Masukkan library tersebut dengan cara klik sketch > include library > add .ZIP library…
3. Pilih file .zip yang sudah didownload. Selesai.
4. Selanjutnya diupload kode program di bawah ini ke Arduino:
//Youtube: Muhammad Pauzan //Blog: pauzan.com #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); //0x27 adalah alamat i2c yang sudah diperoleh sebelumnya void setup() { lcd.begin(); lcd.backlight(); //supaya lampu backlightnya nyala lcd.clear(); //layar lcd kosong lcd.setCursor(3,0); //3 berarti kolom ke-3 (ada 16 kolom), 0 berarti baris paling atas lcd.print("wELCOME TO"); lcd.setCursor (2,1); lcd.print("pauzan.com"); } void loop() { }
5. Outputnya dapat dilihat pada gambar di bawah ini:
Gambar 5. Hasil interface arduino dengan i2c LCD
Berikut Videonya: