Menampilkan Teks pada LCD I2C 16x2 dengan Arduino
Deskripsi Proyek:
Dalam proyek ini, kita akan membuat sebuah sistem sederhana yang menampilkan teks pada layar LCD 16x2 menggunakan mikrokontroler Arduino dan antarmuka I2C. LCD 16x2 adalah modul yang sering digunakan dalam berbagai proyek elektronik untuk menampilkan informasi seperti teks atau angka. Dengan menggunakan antarmuka I2C, kitaÂ
dapat menghemat pin pada Arduino, karena hanya membutuhkan dua pin untuk komunikasi data (SDA dan SCL).
Tujuan:
1. Memahami cara menghubungkan dan menggunakan modul LCD I2C dengan Arduino.
2. Menampilkan serangkaian teks pada layar LCD secara bergantian.
Alat dan Bahan yang Dibutuhkan:
1. Arduino Uno atau jenis Arduino lainnya
2. Modul LCD 16x2 dengan antarmuka I2C
3. Kabel jumper
4. Breadboard
5. Komputer dengan Arduino IDE terinstal
6. Library `LiquidCrystal_I2C` untuk Arduino (dapat diinstal melalui Library Manager di Arduino IDE)
1. Persiapan dan Pengaturan Hardware:
  - Hubungkan modul LCD 16x2 ke Arduino. Jika menggunakan modul dengan antarmuka I2C, biasanya terdapat empat pin: VCC, GND, SDA, dan SCL.
  - Hubungkan VCC dan GND pada modul LCD ke VCC dan GND pada Arduino.
  - Hubungkan pin SDA dan SCL dari LCD ke pin SDA (A4) dan SCL (A5) pada Arduino Uno. (Pin SDA dan SCL bisa berbeda pada jenis Arduino lain, cek dokumentasi Arduino yang digunakan.)
2. Instalasi Library:
  - Buka Arduino IDE, lalu pergi ke menu `Sketch` -> `Include Library` -> `Manage Libraries`.
  - Cari `LiquidCrystal_I2C` dan instal library tersebut.
3. Menulis dan Mengupload Kode:
  - Tulis kode berikut dalam Arduino IDE:
  ```cpp
  #include
  #include
  LiquidCrystal_I2C lcd(0x27, 16, 2); // Inisialisasi LCD dengan alamat I2C 0x27
  void setup() {
   lcd.init();         // Inisialisasi LCD
   lcd.backlight();      // Nyalakan lampu latar LCD
   lcd.setCursor(0, 0);    // Set kursor ke kolom 0, baris 0
   lcd.print("Suki yo");
   delay(2000);        // Tampilkan selama 2 detik
   lcd.clear();        // Bersihkan layar
   lcd.setCursor(0, 0);
   lcd.print("Ima Anata ni");
   lcd.setCursor(0, 1);
   lcd.print("omoi nosete");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Hora, sunaoni");
   lcd.setCursor(0, 1);
   lcd.print("naru no watashi");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Kono saki motto");
   lcd.setCursor(0, 1);
   lcd.print("soba ni ite mo");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("ii ka na?");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Koi to koi ga");
   lcd.setCursor(0, 1);
   lcd.print("kasanatte");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Suki yo");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Ima anata ni");
   lcd.setCursor(0, 1);
   lcd.print("omoi todoke");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Nee, kizuite");
   lcd.setCursor(0, 1);
   lcd.print("kuremasen ka?");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Doushiyou mo");
   lcd.setCursor(0, 1);
   lcd.print("nai kurai");
   delay(2000);
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Kokoro made");
   lcd.setCursor(0, 1);
   lcd.print("suki ni natteiku");
   delay(2000);
   lcd.clear();
  }
  void loop() {
   // Tidak ada operasi di loop utama
  }
  ```
  - Unggah kode ke Arduino dengan memilih port dan board yang sesuai, lalu klik tombol `Upload`.
4. Mengamati Hasil:
  - Setelah kode diunggah, LCD akan menampilkan teks sesuai dengan urutan yang telah ditentukan di dalam kode. Setiap teks akan tampil selama 2 detik sebelum berganti ke teks berikutnya.
Penjelasan Kode:
- `LiquidCrystal_I2C lcd(0x27, 16, 2);`: Inisialisasi objek `lcd` dengan alamat I2C `0x27` dan ukuran layar 16 kolom x 2 baris. Alamat I2C bisa berbeda, tergantung modul yang digunakan.
- `lcd.init();`: Inisialisasi LCD.
- `lcd.backlight();`: Menyalakan lampu latar LCD.
- lcd.setCursor(x, y); : Mengatur posisi kursor pada layar LCD, di mana `x` adalah kolom dan `y` adalah baris.
- `lcd.print("text") : Menampilkan teks di posisi kursor saat ini.
- `lcd.clear();`: Membersihkan tampilan layar.
Kesimpulan:
Proyek ini adalah contoh sederhana penggunaan LCD I2C 16x2 dengan Arduino. Dengan menampilkan teks, Anda dapat memahami dasar-dasar penggunaan modul LCD dengan mikrokontroler. Ini dapat dikembangkan lebih lanjut untuk aplikasi yang lebih kompleks, seperti menampilkan data sensor atau informasi lainnya. Membuat tampilan teks pada LCD ini juga dapat diaplikasikan dalam berbagai proyek DIY dan sistem terbenam.
Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana
Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI