Halo Teman-teman...!
Pada tutorial kali ini kita akan belajar bagaimana menghubungkan LCD dengan komunikasi I2C ke arduino dan bagaimana cara menuliskan karakter ke LCD dengan Arduino Uno.
Sebelum memulai tutorial ini, kita akan bahas secara singkat tentang komunikasi Display LCD dengan I2C. Namun, sebelum melanjutkan tutorial ini, alangkah lebih baiknya membaca artikel dibawah ini untuk mendapatkan alamat I2C yang akan digunakan.
Baca:
Cara Scan Alamat Modul I2C LCD
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didesain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C sedangkan Slave adalah piranti yang dialamati oleh master. (sumber: purnomosejati.wordpress.com).
Modul I2C Interface LCD Adapter |
Hardware atau komponen yang dibutuhkan adalah sebagai berikut:
- Arduino Uno
- Modul I2C Interface LCD
- Kabel Jumper
Rangkailah komponen diatas seperti gambar berikut:
Arduino_Uno_i2C_LCD.fzz ( Download )Program
Sebelum memasukkan program arduino, harus terlebih dahulu memasukan library LCD dan I2C sebagai berikut:
Setelah mengunduh file library dan meletakan pada file instalasi Arduino, selanjutnya adalah memasukkan program dibawah ini:
Baca:
#include <Wire.h> // i2C Conection Library
#include <LiquidCrystal_I2C.h> //i2C LCD Library
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x3F, 16, 2);
void setup()
{
// initialize the LCD
lcd.begin();
lcd.print(" Hello Word ");
delay (1000);
lcd.setCursor(0,1);
lcd.print(" Welcome ");
delay (1000);
for (int i=0; i<5; i++){
lcd.noBacklight();
delay(200);
lcd.backlight();
delay(200);}
lcd.setCursor(0,1);
lcd.print(" to ");
delay (1000);
for (int i=0; i<5; i++){
lcd.noDisplay();
delay(200);
lcd.display();
delay(200);}
lcd.setCursor(0,1);
lcd.print("Hestech Indonesia");
delay (1000);
for (int i=0; i<5; i++){
lcd.cursor();
delay(500);
lcd.noCursor();
delay(500);}
lcd.setCursor(0,1);
lcd.print("TESTING");
delay (1000);
lcd.setCursor(0,0);
lcd.print("LCD 16X2");
for (int i=0; i<16; i++){
lcd.scrollDisplayRight();
delay(200);}
for (int i=0; i<16; i++){
lcd.scrollDisplayLeft();
delay(200);}
lcd.setCursor(0,1);
lcd.print("<-Menggunakan");
delay (1000);
lcd.clear();
lcd.rightToLeft();
lcd.setCursor(15,0);
lcd.print("I2c Modul");
delay(3000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Terima Kasih");
delay (1000);
lcd.leftToRight();
lcd.setCursor(0,0);
lcd.print("Hestech Indonesia");
}
void loop()
{
// Gak perlu diisi
}
Selamat berkarya.
comment 0 komentar
more_vert