Menampilkan Tulisan pada LCD dengan Menggunakan AVR studio

Gambar 1 - LCD (www.aliexpress.com)

Gambar 1 – LCD (www.aliexpress.com)

Di era digital, LCD merupakan device yang sudah tidak asing lagi bagi kita karena sudah sering kita jumpai dalam kehidupan sehari-hari, seperti: televisi, kalkulator atau monitor komputer. Pada artikel ini, kita akan belajar bagaimana cara kita dapat menampilkan tulisan apapun di LCD dan kita juga belajar untuk memodifikasinya.

Apa itu LCD ?

Gambar 2 - Graphic LCD (www.pjrc.com)

Gambar 2 – Graphic LCD (www.pjrc.com)

LCD adalah singkatan dari (Liquid Crystal Display) dimana ia dapat digunakan untuk menampilkan tulisan ataupun grafik. Pada dunia robotika dan elektronika, LCD dibagi menjadi dua jenis, yaitu: LCD Karakter dan LCD Grafis. Namun yang akan kita bahas pada kesempatan ini adalah LCD Karakter (HD44780).

Gambar 3 - JHD 162A Character LCD (www.diytrade.com)

Gambar 3 – JHD 162A Character LCD (www.diytrade.com)

HD44780 merupakan LCD stAndar yang memiliki modul 16 x 2 dimana memiliki 16 kolom dan 2 baris. Modul ini dapat digunakan pada tipe 8 bit dan 4 bit dimana perbedaannya terletak pada proses pengiriman data. Pada 8 bit, data dari mikrokontroler masuk ke LCD, sedangkan 4 bit data bisa langsung dioperasikan. Berikut ini adalah 16 Pin LCD :

Gambar 4 - PIN LCD

Gambar 4 – PIN LCD

Tabel 1 - Konfigurasi 16 Pin LCD

Tabel 1 – Konfigurasi 16 Pin LCD

LCD yang menggunakan mode 8 bit pada umumnya membutuhkan 8 pin untuk diproses yang meliputi  pins(DB0 hingga DB7) dan dikontrol oleh 3 pins (RS,R/W,EN). Hal ini berbeda dengan mode 4 bit yang membutuhkan 4 pins untuk memproses data (DB4 hingga DB7) dan 3 pin control (RS,R/W,EN). Meskipun mode 8 bit lebih cepat dan akurat namun konsumsi daya pada mikrokontroller jauh lebih banyak jika dibandingkan dengan mode 4 bit.

Interfacing dengan LCD

Pertama  kita harus mengetahui dasar-dasar untuk mengoneksikan LCD seperti. Kita dapat mengikuti rangkaian dibawah ini :

Gambar 5 - LCD Connector

Gambar 5 – LCD Connector

Sebelum kita mem-program, Download lah modul LCD terlebih dahulu disini

Konfigurasi Library

Setelah mendownload modul LCD,  kita akan melakukan proses pemrograman dengan membuka AVR studio dan membuat project baru. Pada bagian jendela kanan, kamu akan menemukan Solution Explorer Window.  klik kanan pada bagian nama project dan  pilihlah existing item. Sekarang carilah folder yang telah kamu download di modulnya  pilihlah lcd.c dan lcd.h

Gambar 6 - Penambahan Library

Gambar 6 – Penambahan Library

Sekarang kamu dapat menemukan 2 file (c file dan header file) masukkan di project ikuti langkah-langlah menurut modulnya.

Gambar 7 - Penambahan File dan Header LCD

Gambar 7 – Penambahan File dan Header LCD

  • Klik 2 kali di file lcd.h (di Solution Exploler) untuk membukanya.
  • Selama kamu memulai untuk menggeser pointer ke bawah kamu akan menemukan komentar yang mendeskripsikan perpustakaan. Perhatikan garis dimana dikatakan LCD_IO_MODE=0 untuk mode pemetaan memori, LCD_IO_MODE = 1 untuk mode 4 bit sedangkan mode 8 bit tidak bisa.
  • Geser terus ke bawah dan kamu akan menemukan garis yang meminta kamu untuk memasukkan XTAL (atau F_CPU) secara default di 8 MHz. Ganti dengan F_CPU yang tepat menurut Anda. Pastika bahwa ini adalah benar atau yang lain akan ada ketidakcocokan di bagian delay timing.
  • Geser ke bawah ke tempat di mana Anda perlu mengatur LCD_IO_MODE Anda. Pastikan bahwa sudah diatur atau didefinisikan ( modul untuk 4 Bit)
  • Tepat di bawah terletak bagian yang terbaik. Anda dapat memilih port sendiri dimana untuk interface LCD seperti yang telah dibahas sebelumnya di mode 4 bit akan ada 4 pin data (DB4…DB7) dan 3 pin control (RS,R/W,EN). Anda juga dapat memilih mereka untuk menjadi satu port atau didistribusikan di port yang berbeda. Jika Anda melakukan nya secara default pada . Pilihlah sesuai dengan ketersediaan pin Anda.
  • Sekarang jika Anda lanjut geser ke bawah Anda dapat menemukan daftar perintah yang berbeda yang dapat dikirimkan ke LCD dengan fungsi LCD_command()
  • Jika Anda geser ke bawah lagi, Anda akan menemukan daftar fungsi yang didenifisikan di  library bersama dengan dekskripsi Anda akan menemukan fungsi seperti ini lcd_init(), lcd_clrscr(), lcd_home(), lcd_gotoxy(), lcd_putc(), lcd_puts(), lcd_puts_p(), lcd_command(), lcd_data() and lcd_puts_P()

Coding

Sekarang langsung tuliskan code dibawah ini dan jangan lupa tuliskan include “lcd.h” di kepala program agar tersinkronisasi dengan library LCD

Setelah membuat project dan mengkompilenya Anda akan melihat ‘halo’ yang ditulis pada baris pertama dan ‘’birulinc’’ pada baris kedua. Ini adalah contoh dasar dan sederhana. Sekarang terserah Anda untuk modifikasi data yang ada di library. Cobalah  tampilkan di baris pertama dan kemudian menciptakan efek memantul. Nama Anda harus bergerak kearah kanan sampai pojok dan kemudian harus bergerak kiri sampai pojok dan seterusnya. Petunjuk:  Gunakan fungsi lcd_command(), seperti: lcd_command(LCD_MOVE_DISP_RIGHT), lcd command(LCD_MOVE_DISP_LEFT), dll

Sekarang cobalah membuat efek bergulir. Teks harus menggulung ke tampilan dan kemudian bergerak keluar dari itu. Untuk kodingannya seperti dibawah ini:

Menampilkan nilai int dan float

Salah satu kelemahan dari library yang kita download tersebut adalah tidak ada fungsi yang secara langsung dapat menampilkan nilai integer atau floating point pada LCD. Untuk itu, kita dapat menggunakan fungsi lcd_puts () itu sendiri dalam kombinasi dengan fungsi itoa () dan sprintf ()

Untuk menampilkan nilai integer, maka modifikasi yang diperlukan adalah sebagai berikut:

untuk menampilkan nilai dari floating, dapat dituliskan seperti berikut ini:

Kesalahan yang mungkin muncul selama pengerjaan

Ketika menghubungkan LCD, Anda mungkin menghadapi beberapa masalah dimana masalah yang paling umum yang mungkin Anda hadapi adalah sebagai berikut:

  • Tidak ada yang terlihat di layar.
  • Kuadrat hitam yang terlihat di layar.
  • Hanya kursor berkedip di layar.
  • Kadang-kadang bahkan layar berkedip.
  • Simbol acak pada tampilan layar ditampilkan di layar.

Untuk mengatasi masalah tersebut, Anda bisa melakukan hal-hal berikut ini:

  • Sesuaikan pot kontras untuk meningkatkan visibilitas.
  • Periksa koneksi Anda.
  • Periksa “delay”.
  • Pastikan Anda telah memasukkan nilai XTAL yang benar dalam “lcd.h” file.
  • Periksa Kode Anda

Jika artikel ini bermanfaat buat Anda, mohon untuk di Share because “Sharing is Caring”

Referensi: maxembedded.com

COMMENTS

Loading Facebook Comments ...