Anda di sini

Elektronika

[TUTORIAL] Rangkaian LCD Menggunakan Komunikasi SPI

Kusuma Wardana - 08 Juni 2016 07:35:51 0

Pendahuluan

Setiap pin begitu berharga... Ya, itulah yang harus diperhatikan dalam menggunakan platform berbasis mikrokontroler, misalnya Arduino UNO yang hanya memiliki 13 pin data. Secara konvensional, kita paling tidak membutuhkan 6 pin digital untuk LCD. Hal ini tentunya sangat memboroskan penggunaan pin. Pada tutorial sebelumnya, kita telah menjelaskan bagaimana menggunakan LCD yang hanya membutuhkan 3 pin data. Pada tutorial ini, kita juga akan menggunakan 3 pin data, namun menggunakan protokol SPI. Kita bisa menggunakan kedua alternatif ini. Bedanya, ketika menggunakan protokol SPI, kita wajib menggunakan dua pin yaitu pin ke-13 (SCK) dan pin ke-11 (MOSI). Pin SS dapat kita sesuaikan. Jadi, kita juga hanya akan menggunakan tiga pin, yaitu SCK, MOSI, dan SS. Pada tutorial ini, pin SS menggunakan pin ke-10.

Hardware

Siapkanlah Arduino. Saat ini saya menggunakan Arduino UNO. Arduino Nano dapat dijadikan alternatif. Jika menggunakan MEGA, tentu jumlah pin tidak menjadi masalah Smile Selain Arduino, siapkan juga sebuah IC shif register 74HC95. IC jenis ini sangat umum di pasaran. Siapkan juga sebuah LCD 16x2, potensiometer 1K dan beberapa kabel jumper. Rangkailah semuanya seperti pada Gambar 1. Skematik di bawah ini dibuat menggunakan software Proteus.

Gambar 1. Skematik pemasangan hardware

Software

Unduhlah pustaka LiquidCrystal yang disertakan pada tutorial ini. Pustaka ini telah dimodifikasi, sehingga berbeda dengan LiquidCrystal pada umumnya. Jika telah selesai mengunduh, Import-lah pustaka tersebut ke library Arduino kita. Caranya, buka IDE Arduino, cari Sketch ->Include Library -> Add .ZIP Library... . Selanjutnya, ketiklah program berikut:

#include <SPI.h>
#include <LiquidCrystal.h>

// Sesuaikan dengan pin SS kita.
// Disini digunakan pin 10
LiquidCrystal lcd(10);

void setup() {
  lcd.begin(16, 2);
  //format kursor = (kolom,baris), indeks dimulai dari nol
  lcd.setCursor(0,0);
  lcd.print("hello, world!");
}

void loop() {  
  //turun ke kolom bawah
  lcd.setCursor(0, 1);
  //tampilkan nilai detik
  lcd.print(millis()/1000);
}

Demikian tutorial kali ini. Semoga bermanfaat....

1.472
Image

Kusuma Wardana

I Nyoman Kusuma Wardana, yang akrab dipanggil Kusuma, lahir dan besar di Bali. Ia tinggal di Desa Wisata Ubud, dan lebih banyak melaksanakan aktivitasnya di Denpasar. Profesinya adalah sebagai staf pengajar di Jurusan Teknik Elektro, Politeknik Negeri Bali. Saat ini Ia menjadi salah satu penulis di tutorkeren.com.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.