09 January 2017

Tutorial 13 - Arduino dan Paparan LCD Menggunakan I2C



Hai kawan - kawan.. Sihat ke tu? Kalau sihat, baguslah.. Kalau tak sihat, jangan lupa makan ubat yer.. Rasanya masih belum terlewat untuk saya ucapkan Selamat Tahun Baru 2017. Semoga tahun 2017 ini menjadi turning point untuk saya dan rakan - rakan pembaca setia blog ini berusaha lebih keras lagi.

Untuk tutorial kali ini, saya ingin berkongsi dengan anda semua cara mudah menggunakan LCD. Saya pernah berkongsi cara menggunakan LCD pada Tutorial 2 sebelum ini. Kaedah itu adalah salah satu dari DUA cara yang boleh diaplikasikan untuk menggunakan LCD. Cara ke-2 adalah menggunakan Serial Interface Adapter Module atau lebih popular dipanggil I2C ( sebut I to see ). Jika ditanya pada saya kaedah mana yang lebih digemari, saya akan pilih guna I2C ini. Saya akan senaraikan kebaikan dan keburukan ( pada pandangan saya ) menggunakan I2C ini.

Kebaikan:
  1. Mengurangkan penggunaan pin pada Arduino ( dari 6 pin kepada 2 pin sahaja)
  2. Mengurangkan risiko kesalahan penyambungan antara Arduino dgn LCD
  3. Tidak perlu menggunakan variable resistor (VR) kerana sudah ada VR dalam module I2C
Keburukan:
  1. Kena beli I2C module yang harganya RM12.
I2C mempunyai 4 pin yang perlu disambungkan secara terus kepada Arduino anda. 4 pin tersebut ialah:
  1. Vcc / 5V
  2. GND
  3. SCL
  4. SDA
Jika papan Arduino anda tiada pin SCL dan SDA (model lama), anda masih boleh menggunakan I2C ini dengan cara sambungan seperti berikut:
  1. SCL ( I2C ) ke pin A5 ( Arduino )
  2. SDA ( I2C ) ke pin A4 ( Arduino )
I2C Module

Contoh Sambungan I2C dan Arduino



Projek: Memaparkan ayat "Selamat Datang" & "Welcome" pada LCD menggunakan I2C

Untuk menggunakan I2C ini, untuk penulisan coding nanti, kita perlu menambah library LiquidCrystal_I2C pada folder libraries Arduino kita. Mana nak dapat library itu? Seperti biasa, saya yang baik hati ini akan memudahkan kerja anda. Anda boleh muat turun library itu di bawah

LiquidCrystal_I2C

Aturcara:

Selepas anda membuat sambungan seperti gambar di atas dan memuat turun library I2C, anda bolehlah memulakan penulisan coding anda. Saya akan tunjukkan coding ringkas menggunakan I2C dan anda semua bolehlah jadikan ini sebagai rujukan,



1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup()
{
  lcd.begin(16,2);
  lcd.backlight();
}

void loop()
{
  lcd.setCursor(4,0);
  lcd.print("Welcome!");
  delay (2000);

  lcd.setCursor(1,1);
  lcd.print("Selamat Datang");
  delay (2000);

  lcd.clear();
  delay (1000);
}

Perhatikan pada baris yang ke-2, terdapat nombor 0x27. Ini menunjukkan alamat I2C yang digunakan. Jika anda perhatikan tiada apa - apa paparan pada LCD selepas anda upload coding ini, terdapat 2 faktor yang menyebabkan masalah ini.
  1. VR tidak dilaraskan. Anda perlu laraskan VR (warna biru) yang terdapat pada module I2C sehinggalah tulisan timbul
  2. 0x27 bukanlah alamat I2C yang digunakan. Cuba tukar 0x27 kepada 0x3F.
SELAMAT MENCUBA...!