Mikrokontroler Kit Arduino Radio Frequency Identification RFID

8

5.2 Mikrokontroler Kit Arduino

Arduino merupakan kit mikrokontroler yang bersifat Open-Source baik perangkat keras maupun perangkat lunaknya. Perangkat keras yang diprogram menggunakan bahasa pemrogaman berbasis Wiring sintaks + pustaka menyerupai C++ dengan beberapa penyederhanaan dan modifikasi.Untuk perangkat lunak IDE yang dibangun berbasis Proccessing[4]. Arduino ditemukan dan dikembangkan pertama kali di Ivrea, italia oleh Massimo Banzi dan David Cuertilles.Ide terciptanya Arduino didasari dari mahalnya komponen perangkat keras elektronik yang tersedia. Hal ini menjadi penghambat utama para mahasiswa dan pelajar dalam bereksplorasi. Selain harga yang murah, kemudahan dan fleksibilitas penggunaan menjadi pertimbangan oleh pengguna-pengguna Arduino masa kini. Pengguna tidak lagi terkendala waktu untuk mendalami elektronika dan mikrokontroler. Pengguna juga tidak akan disulitkan dalam merancang suatu sistem eletktronika karena banyak komunitas yang menyediakan tutorial proyek berbasis Arduino secara gratis di dunia maya. Munculnya Arduino menjadikannya sebagai tren teknologi yang revolusioner. Arduino terbuka untuk semua orang yang ingin mengembangkan suatu sistem interaktif berbasis mikrokontroler, baik untuk kalangan mahasiswa, pelajar, profesional bahkan pemula sekalipun. Pengguna dapat memiliki Arduino sesuai kebutuhannnya karena Arduino dibuat dalam beberapa jenis diantaranya yaitu Arduino Diecimila, Duemilanove, UNO, Lenardo, Mega, Nano, Due, Yun dan berbagai jenis Arduino lainnya. Universitas Sumatera Utara 9

5.3 Arduino Mega 2560

Arduino Mega 2560 adalah tipe jenis Arduino yang cukup populer digunakan. Selain memiliki pin masukan dan keluaran yang banyak, Arduino jenis ini memiliki kapasitas memori yang lebih besar dibandingkan dengan beberapa jenis Arduino lainnya.Untuk ukuran dimensi perangkatnya Arduino Mega 2560 termasuk jenis Arduino dengan ukuran board yang besar. Gambar 2.1 menunjukan bentuk fisik Arduino Mega 2560. Adapun spesifikasi singkat mengenai Arduino Mega 2560 adalah sebagai berikut[5] : Mikrokontroler : ATmega2560 Tegangan Operasional : 5V Tegangan Masukan direkomendasi : 7-12V Tegangan Masukan batas : 6-20V Pin Digital IO : 54 14 pin untuk keluaran PWM Analog Input Pins : 16 Arus DC per IO Pin : 40 mA Arus DC for 3.3V Pin : 50 mA Memori Flash :256 KB8 KB digunakan untuk bootloader SRAM : 8 KB EEPROM : 4 KB Clock Speed : 16 MHz Gambar 2.1 Arduino Mega 2560 Universitas Sumatera Utara 10

5.3.1 Mikrokontroler

Mikrokontroler yang digunakan pada Arduino Mega 2560 ini adalah Mikrokontroler ATMega 2560. Mikrokontroler inimenjadi komponen utama dari sistem minimum Arduino Mega 2560. Setiap pin mikrokontroler ATMega 2560 dipetakan sesuai dengan kebutuhan standar Arduino pada umumnya. Pemetaan pin pin mapping ATMega 2560 dapat dilihat pada gambar 2.2. Gambar 2.2Konfigurasi Pin ATMega2560[6] Universitas Sumatera Utara 11

5.3.2 Memori Program

Arduino Mega 2560 memiliki 250 Kbyte On-chip In-System Reprogrammable Flash Memory sebagai tempat menyimpan program. Memori flash ini dibagi kedalam dua bagian, yaitu bagian program bootloader dan aplikasi. Bootloader adalah program kecil yang dieksekusi saat setelah pertama kali sistem dinyalakan. Bootloader ini bekerja sebagai perantara antara memori program dengan software compiler Arduino. Bootloader akan menerimafile hasil kompilasi yang telah diupload ke Arduino dan akan menyimpannya ke memori program kemudian Arduino akan langsung mengeksekusi program tersebut. Peta memori program dapat dilihat pada gambar 2.3.

5.3.3 Memori Data

Memori data pada Arduino Mega2560 terbagi atas SRAM dan EEPROM. SRAM bersifat volatileatau dengan kata lain tidak memiliki kemampuan untuk menyimpan data secara konsisten setelah catu daya dimatikan sedangkan EEPROM bersifat nonvolatile. SRAM yang dimiliki Arduino Mega 2560 berukuran 8KB dan EEPROM yang dimiliki Arduino Mega 2560 berukuran 4KB. Ukuran EEPROM yang dimiliki Arduino jenis ini adalah ukuran EEPROM Gambar 2.3Peta Memori Program[7] Universitas Sumatera Utara 12 yang paling besar diantara beberapa jenis Arduino lainnya sehingga EEPROM yang dimiliki Arduino jenis ini dapat dimanfaatkan untuk kebutuhan sistem dengan memori data yang besar.

5.3.4 Pin InputOutput

Arduino Mega 2560 memiliki 54 pin digital yang dapat digunakan sebagai masukan atau keluaran menggunakan fungsi pinMode, dan menentukan proses penulisan atau pembacaan data IO menggunakan fungsi digitalWrite dan digitalRead. Setiap pin beroperasi pada tegangan 5 volt, mampu menerima atau menghasilkan arus maksimum sebesar 40 mA dan memiliki 20 - 50 Kohm resistor pull-up internal diputus secara default. Pin digital ini selain berfungsi sebagai masukan dan keluaran digital namun juga dapat berfungsisebagai pin dengan fungsi khusus seperti untuk komunikasi UART pin 0 sebagai RX dan pin 1 sebagai TX, komunikasi SPI, komunikasi I 2 C, external interrupt dan PWM. Untuk memanfaatkan pin digital Arduino sebagai pin dengan fungsi khusus, maka register yang terkait dengan fungsi khusus tersebut harus dikonfigurasi terlebih dahulu. Konfigurasi register- register tersebut telah disediakan di pustakalibrary Arduino. Selain fitur pin digital, Arduino Mega 2560 juga memiliki 16 pin analog yaitu pin A0 sampai A15 dan setiap pin menyediakan resolusi sebesar 10 bit.

5.3.5 Catu Daya

Arduino dapat diberikan catu daya melalui koneksi USB atau catu daya dari luar non-USB seperti melalui Adaptor AC to DCdan baterai. Jangkauan Universitas Sumatera Utara 13 tegangan yang dapat disuplai ke Arduino sebesar 6 – 20 Volt. Namun tegangan yang direkomendasikan yaitu dari 7 – 12 Volt.

5.3.6 Komunikasi Serial

Komunikasi serial merupakan metode pengiriman data berurut bit demi bit melalui sebuah saluran transmisi[8].Komunikasi serialmemiliki kelebihan diantaranya adalah transimisi data yang dapat dilakukan hanya dengan melalui sebuah saluran sehingga mengurangi costyang dikeluarkan untuk kebutuhan saluran transmisi[9]. Karena hanya membutuhkan satu saluran, maka cara komunikasi ini selalu digunakan untuk komunikasi jarak jauh. Walaupun jarak dekat, komunikasi ini juga sering digunakan dalam komunikasi jarak dekat yang tidak membutuhkan kecepatan tinggi[10]. Namun saat ini teknologi yang digunakan pada perkembangan komunikasi serial semakin canggih sehingga masalah kecepatan transmisi sudah cukup teratasi. Komunikasi serial dapat dilakukan dengan dua cara yaitu sinkron atau asinkron. Dikatakan sinkron ketika sisi pengirim dan sisi penerima menggunakan clock bersama. Dikatakan asinkron ketika sisi pengirim dan sisi penerima menggunakan clock masing-masing tersendiri dan dengan frekuensi clock yang hampir sama[10]. Arduino menyediakan kedua jenis komunikasi serial tersebut baik sinkron ataupun asinkron. Jenis komunikasi serial asinkron yang disediakan oleh Arduino adalahUART TTL logicsedangkanjenis komunikasi serial sinkron salah satunya adalah SPI. UART Universal Asynchronous Rece iverTransmitter merupakan perangkat komunikasi serial yang bekerja dengan metode asinkron.Pada Universitas Sumatera Utara 14 komunikasi serial ini setiap pengiriman 1 byte data akan diawali dengan pengiriman bit pertama berupa start bit yang berlogika 0 low dan diakhiri dengan stop bit yang berlogika 1 high. Sehingga setiap pengiriman 1 byte data setidaknya dibutuhkan dibutuhkan 10bit data untuk satu kali pengiriman.Selain itu untuk penambahan fungsi pengecekan eror dengan menggunakan bit paritas parity bit dapat dilakukan dengan menyisipkan bit tersebut pada akhir frame sebelum stop bit. Format data UART dapat dilihat pada gambar 2.7. Gambar 2.4 Format Data UART[7] UART memiliki beberapa fitur yang digunakan dalam melakukan komunikasi diantaranya seperti: receivetransmit buffer, shift register,clock generator, parity generator, parity checker[7]. Sebelum melakukan pengiriman atau penerimaan data clock generator akan bekerja dengan membangkitkan clock lokal milik pengirimpenerima. Setiap data yang akan dikirim akan dimuati ke transmit buffer kemudian ditransfer ke shift register PISO untuk dikirim ke penerima. Sama seperti pada proses pengiriman data, data yang diterima akan dimuatishift register PISO kemudian data tersebut dimuati ke receive buffer. Universitas Sumatera Utara 15 Pengaturan format data, pengaturan baudrate serta beberapa pengaturan fitur-fitur perangkat UART lainnya diatur pada register-register khusus UART. Pada Arduino Mega 2560 terdapat pin TX dan RX yang digunakan sebagai saluran transmit dan receive bagi perangkat komunikasi serial UART. Pada Arduino, inisialisasi komunikasi serialUART dilakukan dengan memanfaatkan fungsi Serial.beginn dengann adalah nilai baudrate. Inisialisasi ini melakukan penentuan baudrate, penentuan format datadan memampukan perangkat UART sebagai receiver atau transmitter. Selanjutnya dengan menggunakan fungsi Serial.print, Arduino dapat mengirimkan serangkaian karakter-karakter dengan tipe data charchar arraystring ke komputer. Data yang diterima atau dikirim oleh Arduino dapat dimonitor menggunakan serial terminal yang telah disediakan di IDE Arduino. Salah satu jenis komunikasi serial sinkron yang dimiliki oleh Arduino adalah SPI Serial Peripheral Interface. Komunikasi antara dua perangkat yang menggunakan SPI berlandaskan hubungan master induk dan slave budak[10]. Master dapat berupa mikrokontroler sedangkan slave budak dapat berupa mikrokontroler atau perangkat selain mikrokontroler. Pin yang diperlukan dalam komunikasi SPI umumnya menggunakan empat pin yaitu pin MOSIMaster Out Serial In atau dalam istilah lain SDOSerial Data Out, pin MISOMaster Out Serial In atau dalam istilah lain SDOSerial Data Out, pin SCK Serial Clock, SS Slave Select. Perangkat yang dikonfigurasi sebagai master selain bertindak sebagai sumber clock bersama melalui pin SCK. juga bertindak sebagai pemilih perangkat slave melalui pin SS. Konfigurasi fungsi SPI dapat dilihat pada gambar dibawah pada gambar 2.6. Universitas Sumatera Utara 16 Master Slave Gambar 2.5 Konfigurasi Pin SPI Saat inisialisasi SPI akan master akan mendisable pin SS sebagai kondisi default, menentukan bit order MSB atau LSB yang terlebih dahulu untuk dikirim, menentukan kecepatan clock, menentukan kapan slave membaca bit data di tepi naikrising edge atau tepi jatuhfalling edge dari pulsa clockdan sekaligus menentukan kapan clock dianggap menganggur apakah pada saat keadaan tinggi atau rendah. Langkah inisialisasi tersebut berada pada fungsi SPI.begin. Dalam proses pengiriman data, master memilih perangkat slave yang akan diajak berkomunikasi dengan mengkatifkan pin SS berlogika low dilanjutkan pengiriman data melalui pin MOSI dan pengaktifan clock melalui pin SCK. Proses ini dilakukan dengan memanfaatkan fungsi SPI.transfer untuk memilih perangkat slave. Sama seperti perangkat komunikasi serial yang lain, SPI memiliki shift register yang berfungsi mengkonversi data paralel ke serial pada sisi pengirim maupun sebaliknya pada sisi penerima. Pada komunikasi antara Arduino dengan komputer, digunakan chip ATMega8U2 yang telah diprogram oleh pabrikan Arduino sebagai serial to USB Universitas Sumatera Utara 17 converter on board.Chip ATMega8U2 ini mengantarai komunikasi antara ATMega2560main processor dengan komputer.

5.4 Radio Frequency Identification RFID

RFID merupakan suatu teknologi yang menggunakan gelombang radio dengan frekuensi tertentu untuk mengenali suatu benda. Komponen RFID terdiri dari dua komponen utama yaitu tag dan reader. RFID tagatau yangjugadikenal dengan transpondertersusun atas sebuah mikroprosesor, memori dan antena. Setiap komponen penyusun RFID tag memiliki fungsi tersendiri seperti mikroprosesor sebagai pengolah data, memori berguna tempat penyimpanan data,antena berguna memungkinkan mikroprosesor dapat menerima atau mengirim data dari atau ke RFID reader secara nirkabel pada jangkauan yang lebih jauh[11]. baik RFID tag ataupun RFID reader masing-masing harus memiliki saluran frekuensi yang sama juga harus dalam standar protokol yang sama pula sehingga keduanya dapat saling bertukar informasi. Sedangkan RFID reader tersusun atas control unit dan RF interface. Control unit umumnya berisi mikrokontroler, serial interface dan memori. Pada prakteknya RFID reader mengirimkan sinyal analog ke RFID tag. sehingga mengaktifkan wake up sirkuit RFID tag. Selanjutnya RFID reader akan mengirim permintaan informasi ke RFID tag. Hal tersebut direspon oleh RFID tag dengan mengirim sinyal balik backscatter yang berisi informasi yang diminta oleh RFID reader[11]. Informasi balasan berupa gelombang analog tersebut akan diterima oleh RFID reader dan diubah menjadi informasi digital. Informasi Universitas Sumatera Utara 18 tersebut kemudian akanditeruskan ke middleware komputer, mikrokontroler. Komponen dasar sistem RFID dapat dilihat pada gambar 2.7. Gambar 2.6Sistem RFID[11]

5.5 Kartu Cerdas Smart Card