Anda di sini

Pemrograman

Tutorial Menggunakan LCD Dua Kabel I2C Pada NodeMCU

Aditya Suranata - 07 Juli 2017 21:52:27 0

LCD adalah modul yang sangat penting dalam proyek berbasis mikrokontroler, tanpa LCD maka interfacenya tentu tidak akan menarik. Jika jaman dulu kita menggunakan LCD sering memiliki masalah dengan kurangnya pin input/output karena rata-rata modul LCD untuk yang paling kecil saja memerlukan pin sekitar 6 sampai 8 pin, maka sekarang dengan adanya modul interface ke I2C sekarang hanya diperlukan dua kabel saja untuk dapat menggunakan LCD.

Adapter I2C ini, selain membantu dalam menghemat penggunaan pin pada mikrokontroler, baik Arduino maupun NodeMCU, juga sangat membantu dalam menangkal terjadinya korup/rusak pada tampilan LCD yang disebabkan oleh interferensi atau EMI. Kerusakan ini biasanya terjadi karena adanya lonjakan arus pada rangkaian, seperti penggunaan pada kendali mesin besar, relai dan berbagai instrumen yang menggunakan koil bermedan magnet tinggi.

Maka dari itu, sudah menjadi kewajibaan pada jaman sekarang kita menggunakan LCD yang telah dilengkapi dengan komunikasi I2C. Selain nyaman dengan jumlah kabel yang hanya perlu dua saja, juga aman dari gangguan EMI.

Pada tulisan kali ini, saya akan berbagi catatan mengenai koding dasar untuk menggunakan LCD I2C dua kabel ini pada module mikrokontroler WiFi NodeMCU. NodeMCU sangat banyak digunakan saat ini karena kemampuannya dalam hal proyek berbasis Internet of Things melalui jaringan WiFi. Modul ini ukurannya sangat kecil, harganya murah, dan memiliki fitur yang sangat powerful.

Pengkabelan LCD I2C pada NodeMCU

Untuk pengkabelan, seperti halnya dengan modul berbasis komunikasi I2C lainnya, modul ini tentu hanya menggunakan dua kabel data, dan empat totalnya ditambah dengan kabel VCC dan GND.

Urutannya adalah, pin SDA pada modul I2C disambungkan pada Pin D2 NodeMCU, kemudian pin SCL disambungkan ke Pin D1. Pin VCC Disambungkan ke VIN, dan GND ke GND. Gambarannya seperti berikut:

SDA ---------------> D2
SCL ---------------> D1
VCC ---------------> VIN
GND ---------------> GND

Kode Program LCD I2C pada NodeMCU

Langsung saja, berikut adalah koding untuk mulai menggunakan modul ini pada NodeMCU:

#include <LiquidCrystal_I2C.h>

// Konstruk object LCD dengan alamat I2C
// Ganti 0x3F sesuai dengan alamat I2C modul kalian
// Jika tidak tahu dapat menggunakan LCD I2C Scanner
LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup() {

  // Pemanggilan pertama memerlukan parameter jumlah kolom dan baris
  // Ini harus sama dengan yang dimasukan pada konstruktor.
  lcd.begin(16,2);
  lcd.init();

  // Nyalakan backlight
  lcd.backlight();

  // Pindahkan kursor ke kolom 0 dan baris 0
  // (baris 1)
  lcd.setCursor(0, 0);

  // Cetak hellow ke layar
  lcd.print("HELLO WORLD!");

  // Pindahkan kursor ke baris berikutnya dan cetak lagi
  lcd.setCursor(0, 1);      
  lcd.print("TUTORKEREN.COM");
}

void loop() {
  //Kode loop silahkan disesuaikan
  //...

}

Mohon diperhatikan pada bagian alamat I2Cnya, pada tulisan ini modul yang saya gunakan memiliki alamat di 0x3F, punya kalian mungkin saja berbeda silahkan disesuaikan.

Oya cara mencari tahu berapa alamat modul LCD I2C kalian dapat menggunakan program I2C scanner yang lengkapnya dapat dilihat disini.

Setelah selesai mengunggah kode programnya, silahkan atur kontras LCD pada bagian belakang modul I2C. Caranya cukup diputar-putar potensio kecil yang berwarna biru menggunakan obeng hingga didapatkan kontras yang pas. Perlu diperhatikan bahwa banyak teman-teman yang bingung mengira LCDnya rusak karena setelah diprogram tidak muncul apa-apa dilayar, sedangkan penyebabnya adalah mereka lupa untuk memutar-mutar potensio kontras ini.

Hasilnya,

Sekian catatan singkat ini, semoga bermanfaat untuk teman-teman semua.

433
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.