Tulisan ini merupakan terjemahan bebas dari sebuah artikel yang saya pelajari. Untuk dapat memahami dengan utuh, pembaca dapat merujuk pada tulisan aslinya. Untuk dapat memahami dengan mudah, tulisan ini akan saya sampaikan dalam beberapa sesi.

Suatu ketika kita akan dihadapkan dengan kondisi dimana kebutuhan port dengan jumlah pin yang tersedia pada sebuah mikrokontroller tidak sama. Dengan situasi lain, mungkin kita memiliki ide untuk dapat mengendalikan sebuah rangkaian logic dengan port mikrokontroller dengan jumlah sedikit. Pada kondisi ini, kita dapat menggunakan sebuah komponen yang memiliki prinsip serial to parallel. Sebagai contoh kasus, kita ingin mengontrol sebuah dot matrix display.

Artikel ini akan menjelaskan sedikit hasil eksperimen menggunakan port Atmel AVR dengan metode SPI dengan sedikit tambahan IC logic untuk mengedalikan LED dot matrix.

Apakah SPI

Umumnya sebuah mikrokontroller memiliki beberapa pin yang berfungsi sebagai port I/O dan sebagian lagi memiliki fungsi khusus seperti serial dan SPI yang digunakan untuk komunikasi. SPI memiliki tiga pin sinyal dan satu pin untuk memilih antara mengirim data dan menerima data. Transfer data sinkron berdasarkan sinyal clock yang mengikutinya secara sederhana. Eksperimen ini akan membantu untuk memahami cara kerja SPI, dengan menggunakan AVR ATmega88 sebagai master SPI dan beberapa komponen logic sebagai slave SPI.

Komponen Digunakan

1. 74HC595

74HC595 (HC595) adalah komponen yang memiliki fungsi sebagai shift register serial to parallel 8-bit. Beberapa pabrikan mengeluarkan komponen yang sejenis, dan pada eksperimen ini digunakan dari pabrikan Texas Instrumen dengan datasheet dapat dilihat disini.

2. Dot-matrix LED display

Pada eksperimen ini digunakan dot matrix LED untuk menampilkan cara kerja SPI. Komponen ini dapat dijumpai di toko elektronik terdekat. Pada eksperimen ini digunakan dua buah dot matrix dengan dua warna yaitu merah dan hijau, dengan mengacu pada datasheet didapatkan bahwa dot matrix adalah common katoda dengan Vf = 1,7V (merah) dan Vf=2,2V (hijau).

Berikut adalah library yang dapat digunakan pada Eagle.


(8×8 red-and-green LED, Eagle library)

(Anda dapat mendownload library dari url; → “8x8LED.lbr” made with Eagle 5.10.0 Linux)

Sekarang, perhatikan bagaimana mengendalikan LED grafik display. Secara sederhana, kita dapatkan 8 pin anoda untuk LED merah, 8 pin anoda untuk LED hijau, 8 pin untuk common katoda; jumlahnya adalah 24 bit. Dengan MCU yang berukuran kecil, kita akan kesulitan karena sedikitnya jumlah port. Pada artikel ini, kita akan menghubungkan 3 HC595 secara seri untuk membentuk shift register 24-bit dan mengontrolnya dengan SPI.

Bersambung…

Demikian, semoga bermanfaat.

Sumber:http://awawa.hariko.com/avr_spi_hc595_en.html