LCD 16 x 02 sering digunakan untuk display pada proyek-proyek berbasis Arduino. Harga yang murah dan kemudahan konfigurasi menjadi pilihan. LCD ini terdiri dari 16 kolom dan 2 baris, sehingga ada 32 karakter yang bisa di tampilkan. Bila di amati dari dekat setiap bagian terdiri dari 5 x 8 kotak-kotak kecil, kita sebut sebagai piksel.
Interface I2C
Menyalakan LCD 16 x 02 dibutuhkan 8 bit data yang dikirim ke LCD. Itu artinya memerlukan 8 pin, bila arduino menggunakan protokol ini maka sedikit pin yang tersisa (artikel bisa di lihat disini). Solusinya dengan menggunakan interface I2C (inter integrated circuit). Dengan interface I2C, data berbentuk serial dari arduino di ubah ke bentuk parallel sehingga bisa menyalakan LCD. Terdapat 4 pin di interface I2C, GND, VCC, SDA, SCL. Dua pin digunakan untuk komunikasi dengan arduino, pin SDA (serial data pin) dan pin SCL (serial clock pin).
Jika menggunakan alat interface i2c lebih dari satu, maka perlu ditetapkan alamat pada masing-masing alat. Untuk LCD 16 x 02 pengalamatan berdasarkan merk chip yang digunakan dan jumper pada board pcb. Penjelasan lebih detail bisa di lihat di lastminuteengineers.com.
I2C Scanner
Kita akan coba menggunakan i2c scanner untuk mendapatkan alamat bus dari interface i2c. Dibutuhkan board arduino dalam tutorial ini. Hubungkan pin SDA dan SCL pada interface i2c ke pin SDA dan SCL arduino. GND dan VCC dihubung ke pin ground dan pin 5V. Banyak referensi yang menyebutkan, pin SDA dan SCL pada arduino UNO di ganti dengan pin A4 dan A5.
Arduino Uno, SCL = A5 ; SDA = A4Arduino Nano, SCL = A5 ; SDA = A4Arduino Mega, SCL = 21 ; SDA = 20Leonardo/Micro, SCL = 3 ; SDA = 2
Pengalaman penulis, walau menggunakan arduino uno tapi tetap memakai pin SDA dan SCL.
Copy program berikut
Jalankan serial monitor, alamat i2c akan ditampilkan
Alamat i2c adalah (0x3F). Alamat ini digunakan pada saat memprogram LCD 16x02 i2c. Umumnya ada 2 alamat i2c LCD 16x02 yang dijumpai, (0x27) dan (0x3F). Semoga bermanfaat.
Link Pembelian Barang
Kalau semisal alamatnya itu 0xD gimana bang ?
BalasHapussaya coba beri penjelasan: selama bereksprimen dengan lcd i2c, penulis belum menjumpai yang beralamat 0xD. mohon maaf ka, bila penjelasannya blum memuaskan
BalasHapus