CARA MENAMPILKAN TEXT PADA LCD 16X2 & I2C (ARDUINO UNO)

Penjelasan Singkat:
Hai sobat semua, kali ini kita akan bermain dengan Shield LCD 16x2 dengan menampilkan tulisan yang ingin kita inginkan dengan menggunakan Arduino UNO R3. Tujuan perancangan kali ini adalah agar sobat dapat dengan mudah merangkai dan memprogram arduino yang terhubung ke sebuah LCD 16x2 dan mengetahui cara kerja rangkaian dan program yang dibuat sehingga sobat bisa membuat tulisan apapun yang sobat inginkan. Disini kita menggunakan sebuah LCD 16x2 yang telah dipasang rangkaian I2C agar pengkabelan dari LCD ke Arduino menjadi lebih sedikit. Sobat bisa baca cara menghubungkan rangkaian I2C ke LCD 16x2 di sini. Selanjutnya sobat bisa merangkai sesuai dengan gambar rangkaian di bawah ini. 


Gambar Rangkaian:


Cara Kerja Rangkaian:
Ketika rangkaian di nyalakan, arduino akan mengirimkan pesan berupa text atau angka yang telah kita buat pada sketch arduino  ke LCD melalui pin A6 dan A5 Arduino menuju pin SDA dan SCL pada LCD. Pin VCC pada LCD dihubungkan ke Pin 5V arduino untuk mencatu tegangan LCD sebesar 5V.
Berikut kita akan membuat program yang akan memunculkan tulisan "HELLO SOBAT" pada baris tengah atas arduino dan "ARDUINO MEDAN123" pada baris bawah tengah LCD. Sobat bisa perhatikan sketch arduino yang akan kita buat di bawah ini.

Sketch Arduino
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR    0x27                  // Alamat LCD 16x2 yang digunakan.
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup() {
      lcd.begin (16,2);
      lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);

      lcd.setBacklight(HIGH);
      lcd.setCursor(2,0);
}

void loop() {
      lcd.setCursor(2,0);
      lcd.print("HELLO SOBAT");
      delay(1000);
      lcd.setCursor(0,1);
      lcd.print("ARDUINO MEDAN123");
      delay(5000);
      lcd.clear();
      delay(1000);
}

Program di atas akan menampilkan tulisan "HELLO SOBAT" dimulai pada baris pertama dan kolom ketiga dan menampilkan tulisan "ARDUINO MEDAN123" pada baris kedua dan kolom pertama. Untuk lebih jelasnya sobat bisa perhatikan fungsi perintah tiap-tiap potongan program di atas.

Penjelasan Potongan Program
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
Pada program ini kita akan menambahkan 3 buah library yaitu Wire.h , LCD.h dan LiquidCrystal_I2C.h.


#define I2C_ADDR    0x27                  // Sesuai Alamat LCD 16x2 yang sobat gunakan.
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

LiquidCrystal_I2C  lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
Baris program diatas berfungsi untuk mendefinisikan tiap pin pada LCD 16x2 yang kita gunakan.


void setup() {
      lcd.begin (16,2);
      lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
      lcd.setBacklight(HIGH);
      lcd.setCursor(2,0);
}
Baris program diatas berfungsi untuk konfigurasi pin pada LCD 16x2 yang kita gunakan.


void loop() {
      lcd.setCursor(2,0);
      lcd.print("HELLO SOBAT");
      delay(1000);
      lcd.setCursor(0,1);
      lcd.print("ARDUINO MEDAN123");
      delay(5000);
      lcd.clear();
      delay(1000);
}
Disini kita akan bahas fungsi setiap baris program:
 lcd.setCursor(2,0); & lcd.print("HELLO SOBAT"); Berfungsi untuk menampilkan tulisan
"HELLO SOBAT" pada kolom 3 dan baris pertama pada LCD. Perlu di ingat bahwa pengalamatan kolom pada LCD 16x2 dimulai dengan kolom 0 dan baris 0, dimana kolom 0 berarti kolom pertama  dan baris 0 berarti baris pertama pada LCD.
---------------------------------------------------------------------------------------------------------------------------------------
delay(1000); Perintah ini berfungsi untuk memberikan jeda waktu 1 detik sebelum baris program berikutnya dijalankan.
---------------------------------------------------------------------------------------------------------------------------------------
lcd.setCursor(0,1); & lcd.print("ARDUINO MEDAN123"); Berfungsi untuk menampilkan tulisan
"ARDUINO MEDAN123" pada kolom 1 dan baris ke 2 pada layar LCD 16x2.
---------------------------------------------------------------------------------------------------------------------------------------
delay(5000); Perintah tersebut juga berfungsi untuk memberikan jeda waktu selama 5 detik sebelum baris program berikutnya dijalankan.
---------------------------------------------------------------------------------------------------------------------------------------
lcd.clear(); akan menghapus isi memory dari LCD sehingga tulisan pada layar hilang.
delay(1000); setelah layar dihapus selanjutnya perintah delay akan memberikan jeda waktu layar kosong [tidak ada tampilan] selama 1 detik.
---------------------------------------------------------------------------------------------------------------------------------------
Singkatnya pada saat program dijalankan, Di layar LCD pada baris pertama akan muncul tulisan "HELLO SOBAT"  dan setelah jeda waktu 1 detik akan muncul tulisan "ARDUINO MEDAN123" di bawah tulisan sebelumnya. Setelah 5 detik maka tampilan layar akan dihapus selama 1 detik dan akan akan berulang seterusnya selama rangkaian bekerja.
---------------------------------------------------------------------------------------------------------------------------------------

Demikianlah cara menampilkan tulisan pada Shield LCD 16x2. Sobat bisa membuat tulisan apapun dimulai dari kolom dan baris yang sobat inginkan. Sobat bisa menambahkan perintah-perintah lainnya seperti membuat tulisan menghilang, bergerak ke kiri atau ke kanan dan lainnya. Semuanya tergantung dari kreativitas sobat masing-masing. 

Terimakasih.
Sobat Arduino.


Share this

Related Posts

Previous
Next Post »

1 komentar:

komentar