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