Kalau Anda perhatikan pada tutorial membaca dan menulis data di SD Card menggunakan Arduino pada tutorial sebelumnya, ada satu library yang dideklarasikan selain library ‘SD.h’ yang memang didedikasikan untuk menangani SD Card. Library selain SD.h itu adalah library ‘SPI.h’.
Library SPI.h adalah library yang khusus bertugas menangani komunikasi serial sinkron SPI (Serial Peripheral Interface) di Arduino. Serial sinkron adalah protokol komunikasi data secara serial namun membutuhkan jalur clock untuk sinkronisasi antara transmitter dan receiver-nya. Sedangkan secara khusus istilah ‘serial sinkron SPI’ ditujukan untuk tipe protokol komunikasi serial sinkron yang memiliki 3 jalur kabel yakni MISO (Master In Slave Out), MOSI (Master Out Slave In) dan SCLK (Serial Clock). MOSI merupakan jalur pengiriman data dari master ke slave, sedangkan MISO merupakan kebalikannya. Biasanya ada satu tambahan pin yang digunakan untuk mengaktifkan/menoaktifkan perangkat slave SPI yang dinamakan CS (Chip Select) atau SS (Slave Select). Pin CS/SS bersifat spesifik untuk tiap perangkat slave yang menggunakankomunikasi SPI, jadi bisa berbeda-beda untuk masing-masing perangkat. Ilustrasi cara kerja protokol SPI ini ditunjukkan pada gambar di bawah :
Beberapa tipe Arduino memiliki konfigurasi yang berbeda untuk SPI ini. Contohnya, Arduino memiliki pin MOSI di pin 11, MISO di pin 12, SCLK di pin 13 dan pin CS/SS di pin 10 . Sedangkan untuk Arduino Mega/Mega ADK, berturut-turut untuk pin MISO, MOSI, SCLK, CS/SS adalah di pin 50, 51, 52 dan 53. Pin-pin tersebut juga terhubung langsung dengan port ICSP di papan Arduino. Letak port ICSP dapat Anda lihat pada gambar di bawah.
Dari sisi software, Arduino sudah menyediakan library internal khusus untuk menangani komunikasi serial sinkron dengan SPI ini. Seperti yang sudah disebutkan di atas, nama library tersebut adalah ‘SPI.h’. Library ini bisa langsung digunakan dalam sketch Arduino utama atau sebagai pendukung library yang lain. Sebagai contoh, library ‘Ethernet.h’ atau ‘SD.h’ harus menyertakan ‘SPI.h’ dalam sketch utama karena secara hardware, kedua library tersebut menggunakan protokol komuniksi SPI.
Dalam implementasinnya, SPI banyak digunakan sebagai alternatif untuk berkomunikasi dengan perangkat lain misalnya EEPROM (SPI EEPROM), sensor (barometer, tekanan, dll), komponen elketronika (SPI digital potensiometer) atau controller lain (Arduino, AVR, MCS51, ARM dll). Alternatif komunikasi lainnya adalah menggunakan serial asinkron UART atau serial sinkron IIC/I2C/TWI yang sudah saya bahas di artikel yang lalu. Dengan menggunakan alternatif jalur komunikasi tersebut, setidaknya Anda dapat menghemat port digital Anda. Nah, sekarang adalah tinggal bagaimana Anda merancang sistem Anda. Selamat berkarya !
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Mas Aji salam kenal, sebelumnya minta maaf mau minta tolong buatkan alarm jadwal berbasis arduino yang bisa di setting melalui PC atau stand alone button.
Minatnya timer waktu yang bisa berbunyi secara automatis dengan suara berasal dari mp3 atau wav file dan di tampilkan pada papan led matrix P10 sebagai running text juga.
kira-kira bisa di buatkan designya trus harganya brp?hehehe..
Thanks Mas