Minggu, 23 November 2014

CARA MEMPROGRAM LCD KARAKTER 16X2 DENGAN ARDUINO


Dipagi yang cerah ini dengan ditemani segelas teh hangat, saya mau mencoba berbagi lagi sedikit ilmu untuk para pendekar solder, semoga ilmu ini bisa bermanfaat untuk kita semua. Kawan dipotingan ini saya akan mencoba berbagi bagaimana caranya memprogram lcd karakter. Jika sebelumnya memprogramlcd dengan software codevision AVR (klik disini), kali ini saya akan mencoba menggunakan software arduino. Untuk memprogram lcd menggunakan arduino sangat mudah sekali, karena dalam software arduino sudah ada library untuk lcd karakter ini yaitu terdapat pada folder “LiquidCrystal”.
Ada beberapa instruksi dalam permograman lcd ini yang akan saya bahas, tentunya tidak akan saya bahas semua intruksi yang ada pada library tersebut, karena jarang digunakan dalam pemograman sehari-hari. Kawan sebelum kita memprogram lcd akan sangat baik jika kawan-kawan pendekar solder untuk memahami dulu tentang apa itu lcd karakter, untuk penjelasannya silahkan kawan cek disini.
Dalam pemograman lcd intruksi yang biasa digunakan adalah sebagi berikut:
1.       Pendefinisian Pin LCD.
Untuk mendefinisikan pin lcd kita bisa menggunakan intruksi “LiquidCrystal” jumlah data yang digunakan dalam pemograman ini sebesar 4bit. Contoh penulisannya seperti berikut ini:

LiquidCrystal  Namavariable(pin RS, pin E, pin D4, pin D5, pin D6, pin D7, pin D8);

Contoh berikut ini pendefinisan alamat lcd dengan nama variable “lcd”, dan sambungan pin seperti table berikut
Pin LCD
PIN Arduino
RS
12
E
6
D4
5
D5
4
D6
3
D7
2
 Maka penulisan programnya sebagai berikut:

LiquidCrystal lcd(12, 6, 5, 4, 3, 2);

2.       Inisialisasi Jumlah baris dan kolom
Lcd karakter memiliki beberapa ukuran jumlah baris dan kolomnya ada 8x2, 16x2, 2x20, 4x20 dan lain-lain, sebelum membuat program kita harus tahu dulu lcd yang kita gunakan memiliki baris dan kolom berapa. Untuk inisialisasi ini kita mengunakan intruksi “begin” misalnya kita akan menggunakan lcd 16x2, berarti kita memiliki 16 kolom dan 2 baris.
Struktur penulisannya adalah:
Namavarible.begin (jumlah kolom, jumlah baris);

Penulisan programnya:
lcd.begin(16,2);

3.       Intruksi Untuk Menghapus.
Untuk menghapus tulisan pada lcd secara keseluruhan atau full layar kita bisa mengunakan instruksi “ clear() . Cara penulisannya sebagai berikut: lcd.clear();
Jika ada pertanyaan bagaimana kalau mau menghapus sebagian saja misalnya hanya baris satu saja, atau baris 2 saja?, untuk intruksi penghapusan sebagian baris atau kolom, dalam library ini masih belum ada, tapi kita bisa menggunakan dengan cara perintah menulis pada baris atau kolom yang akan kita hapus dengan ditulis karakter “spasi”. Contoh penghapus baris pertama
Lcd.setCursor(0,0);
Lcd.print(“               “);   -> jumlah spasi sebanyak jumlah karakter yang ingin dihapus.

4.       Intruksi untuk menentukan posisi Kursor
Instuksi penentuan posisi kursor ini sangat penting sekali, karena jika penulisan kursornya salah bisa terjadi tumpang tindih tulisan ketika tampil di lcd. Perlu kita ketahui juga dalam penulisan alamat kursor ini, kolom maupun baris hitunganya dimulai dari 0. Untuk menentukan posisi tulisan kita bisa menggunakan intruksi “setCursor”
Standar penulisannya adalah : namavariabellcd.setCursor(alamat kolom, alamat baris).
Contoh penulisannya:
Kita akan menulis pada kolom 0, baris 0
lcd.setCursor(0,0);

Kita akan menulis pada kolom 0, baris 1
lcd.setCursor(0,1);

5.       Intruksi menulis string (huruf/karakter).
Untuk penulisan karakter huruf kita bisa menggunkaan instruksi “write” atapun “print” untuk penulisannya huruf ini, huruf yang akan ditampilkan berada dalam tanda ( “ ). Cara penulisaanya sebagai berikut:
Lcd.write(“leselektronika”);
Lcd.print(“leselektronika”);

6.       Intruksi menulis interger (nilai).
Penulisan nilai integer atau angka ini beda dengan yang string, yang dimaksud nilai interger ini nanti yang ditulis di lcd adalah nilainya. Misalkan kita punya nama variable adalah “data” variable ini berisi nilai “1000”. Dalam penulisan program yang dipanggil adalah variable “data” tapi yang tampil di lcd adalah isi datanya atau “1000”.
Untuk intruksi ini kita bisa menggunakan intruksi “print” berbeda dengan penulisan string, penulisan interger ini tanpa menggunakan tanda kutif dua.

Contohnya:
Int data=1000;
lcd.print(data);


untuk lebih jelasnya kita langsung gunakan intruksi diatas ke program sebagai berikut:


// include the library code:
#include // memasukan library untuk lcd
#include // memasukan library untuk delay

LiquidCrystal lcd(12, 6, 5, 4, 3, 2); // pendefinisian pin
int data=100; // variable data

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2); // inisialisasi lcd untuk jumlah karakter
  }

void loop() {
// display pertama
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" LESELEKTRONIKA");
lcd.setCursor(0,1);
lcd.print("DATA: ");
lcd.setCursor(6,1);
lcd.print(data);
delay(1000);

//display kedua
lcd.clear();
lcd.setCursor(0,0);
lcd.write(" LESELEKTRONIKA");
lcd.setCursor(0,1);
lcd.write("PENDAKAR SOLDER");
delay(1000);
}

Setelah disimulasikan sebagai berikut:


Gambar: Display Pertama


Gambar: Display Kedua

21 komentar:

  1. Setelah di verify terdapat pesan error

    lcd_16x2.ino:3:19: fatal error: delay.h: No such file or directory
    compilation terminated.
    Error compiling.

    gimana itu bos???

    BalasHapus
    Balasan
    1. salahnya di delay.h karena delay.h bukanlah suatu file header

      Hapus
  2. Keren. Thanks gan. izin copas.

    BalasHapus
  3. Kalau error set addres gmna mas ?

    BalasHapus
  4. kalo untuk LCD karakter 16x4 apa tinggal di ganti saja di bagian lcd.begin nya jd lcd.begin(16,4) begitu gan?? mohon bantuannya

    BalasHapus
  5. tolong pencerahannya buat yg lcd 8x2 dong, makasih

    BalasHapus
  6. mas, bisa dibantu untuk kodingan pada lcd 1602. untuk display pada baris satu bergerak kekanan dan baris kedua ke kiri secara bersamaan. terima kasih.

    BalasHapus
  7. Gan kalo buat running text menggunaka arduino gimana ya ??

    Mohon pencerahanya

    BalasHapus
  8. Gan kalo buat running text menggunaka arduino gimana ya ??

    Mohon pencerahanya

    BalasHapus
  9. gan bisa gak sih lcd 16x2 menampilkan data lebih dari 3 baris data? kalau bisa bagaimana caranya? apakah hanya dapat menampilkan 2 baris data saja?

    BalasHapus
  10. apakah sisa dari pixel yang tersisa di layar lcd bisa menampilkan data lain?

    BalasHapus
  11. artikelnya bagus gan, kunjungi juga website saya di " Cara pertama menggunakan arduino uno project"

    atau link.nya di http://www.argayudhaadhiprama.com/cara-pertama-menggunakan-arduino-uno/

    trimakasih dari argayudhaadhiprama.com

    BalasHapus
  12. gan kalau lcdnya blank hanya kotak2 hitam kenapa ya

    BalasHapus
  13. aku pas di kompile kok error katanya

    Using library LiquidCrystal at version 1.0.4 in folder: C:\Program Files\Arduino\libraries\LiquidCrystal
    exit status 1
    Error compiling.

    BalasHapus
    Balasan
    1. harus download library zipnya dlu mas trus masuk ke sketch, include library dan add zip library yang telah di download

      Hapus
  14. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  15. Arduino: 1.6.1 (Windows 8.1), Board: "Arduino Uno"

    percobaan.ino:3:49: fatal error: lcd.h: No such file or directory

    compilation terminated.

    Error compiling.

    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.

    kayak mana nih bang??

    BalasHapus
  16. permisi gan...klw tampilan lcd 16x4 tiba2 berubah yang tadinya tulisan "Selamat Datang" menjadi tulisan seperti huruf kanji/china penyebabnya apa? tks

    BalasHapus
  17. Simulasinya malah lebih susah..
    Mending langsung compile di Arduino IDE . Dari file .ino yg kita download/bikin . Kalau kita udah tau dasarnya tinggal sedikit edit (bila perlu) , sketch udah tersedia byk di arduino.cc .

    BalasHapus
  18. Casino Games | JM Hub
    In a casino with more 순천 출장마사지 than 100 slot machines, there 대구광역 출장안마 are also 청주 출장샵 table games to choose from. These table 1xbet app games, like craps 제천 출장샵 and blackjack, will

    BalasHapus

Silahkan tinggalkan komentar kawan - kawan, baik berupa pertanyaan ataupun saran yang sifatnya membangun. komentar kawan - kawan sangat berharga untuk kemajuan blog ini. kalau bisa mohon hindari penggunaan Anonim. Semoga bermanfaat untuk kita semua...
Terimakasih....