Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Laporan Tugas Akhir BAB II
STT Telematika Telkom Purwokerto 7 D312050
BAB II
DASAR TEORI
2.1. Radio Frequency Identification (RFID)[1]
Radio frequency (RF) merupakan gelombang elektromagnetik yang
biasa digunakan pada komunikasi radio. Gelombang radio dikelompokan
menurut frekuensinya, yang diukur dalam bentuk Kilo Hertz, Mega Hertz,
atau Giga Hertz. Radio frequency terdiri dari Very Low Frequency (VLF),
yang besarnya antara 10 sampai 30 KHz, hingga Extremely High Frequency
(EHF), yang besarnya antara 30 sampai 300 GHz.
RFID adalah teknologi yang mudah disesuiakan (fleksibel) dan baik,
mudah digunakan, dan cocok digunakan untuk otomatisasi (automatic
operation). Alat ini memiliki kelebihan yang tidak dimiliki oleh sistem
identifikasi jenis lain. RFID dilengkapi dengan kemampuan pembacaan
(read-only) ataupun tulis (read/write), tidak membutuhkan hubungan
tambahan untuk pengoperasiannya, dan juga dapat berfungsi diberbagai
macam kondisi lingkungan yang berbeda, yang memberikan tingkat integritas
data yang tinggi. Dan karena teknologi ini sangat sulit untuk ditiru atau
dipalsukan. RFID juga menyediakan tingkat keamanan yang cukup tinggi.
RFID mempunyai konsep yang hampir serupa dengan barcode.
Barcode sistem menggunakan reader dan label kode yang sudah ditambahkan
pada tampilan fisik kartu, sedangkan RFID frekuensi pada penggunaannya.
Barcode menggunakan sinyal optical untuk memindahkan informasi dari
label ke reader, RFID menggunakan RF sinyal untuk memindahkan informasi
dari RFID device ke reader.
Gelombang radio memindahkan dara antar alat menggunakan RFID
device yang telah diintegrasikan dan sebuah RFID reader. RFID device dapat
memuat data yang berisikan informasi tentang identitas alat. Misalnya
definisi dari alat tersebut, kapan data berpindah dari alat RF dalam waktu
yang pasti, mungkin diukur dengan meggunakan parameter misalnya
temperatur. RFID device seperti tag dan label, dapat mengidentifikasi kartu
dan kemudian meneruskan informasinya ke RF transceiver.
Laporan Tugas Akhir BAB II 8
STT Telematika Telkom Purwokerto D312050
Teknologi RFID menggunakan frekuensi antara 50 kHz hingga 2,5
GHz. Seperti pada gambar 2.1 yang menerangkan tentang tipikal dari sistem
yang dilengkapi dengan komponen berikut.
1. RFID device (transponder atau dalam hal ini digunakan kartu) yang
menjelaskan data mengenai alat tersebut.
2. Antena yang berfungsi untuk mentransisikan sinyal RFID antara reader
dan RFID reader.
3. RF transceiver yang membangkitkan RF sinyal
4. Reader yang berfunsi untuk menerima transmisi dari RF device dan
melanjutkan pengiriman data ke sistem aplikasi untuk diproses.
Dasar dari rangkaian RFID dilengkapi dengan aplikasi perangkat lunak
sebagai pendukung untuk sistem RFID.[1]
Gambar 2.1 Typical RFID system Components[3]
Ada 2 jenis antena dalam uraian ini, yaitu tag antena dan reader antena,
istilah antena dalam uraian ini akan mengacu pada reader antena. Untuk
antena dari tag akan dicantumkan secara spesifik tag antena.
Perangkat RFID akan bekerja jika berada pada frekuensi yang sama.
Sejalan dengan karakteristik frekuensi yang berbeda-beda dan kebutuhan/
kondisi dilapangan juga sangat bervariasi dalam penerapan RFID, maka saat
ini telah berkembang solusi RFID untuk 4 macam frekuensi:
Laporan Tugas Akhir BAB II 9
STT Telematika Telkom Purwokerto D312050
1. Low Frequency (LF) : 125 - 134 KHz
2. High Frequency (HF) : 13.56 MHz
3. Ultra High Frequency (UHF) : 868 – 956 MHz
4. Microwave : 2.45 GHz
Dalam pemilihan frekuensi yang dipakai juga akan dipengaruhi hal-hal
berikut ini:
1. Regulasi dari setiap negara (khususnya untuk sistem gelombang radio
Ultra High Frequency).
2. Persyaratan standarisasi yang harus dipenuhi pada suatu aplikasi atau
industri tertentu, contoh:
a. Jika harus memenuhi standar ISO 15693: ISO 14443 : ISO 18000-
3, maka harus dipakai RFID HF system.
b. Jika harus memenuhi standar EPC globar Gen 2: ISO 18000-6 A,
B, C; maka dipakai RFID UHF system.
3. Aspek operasional dan juga aplikasi dalam penerapan RFID. Seperti
aspek tag, aspek RFID reader dan Interface/ Connectivity, aspek
aplikasi.[3]
2.1.1. Prinsip Kerja RFID[3]
Teknologi arduino berdasarkan pada prinsip kerja dari gelombang
elektromagnetik, dimana:
a. Komponen utama di RFID tag adalah chips dan tag-antena yang
biasa disebut inlay, dimana chip berisis informasi dan terhubung
dengan tag-antena.
b. Informasi yang berada atau tersimpan dalam chip ini akan terbaca
melalui gelombang elektromagnetik setelah tag-antena mendapat
pancaran gelombang elektomagnetik dari reader-antena
(interogator). RFID reader digunakan untuk meneruskan
informasi pada application server.
Laporan Tugas Akhir BAB II 10
STT Telematika Telkom Purwokerto D312050
2.1.2. Perangkat RFID[2]
Perangkat RFID terdiri dari 3 bagian, yaitu:
1. RFID tag
2. RFID reader
3. Antenna
2.2. Arduino[4]
Arduino merupakan platform pembuatan prototipe elektronik yang
bersifat open-source hardware yang berdasarkan pada perangkat keras dan
perangkat lunak yang fleksibel dan mudah digunakan. Arduino diperuntukan
bagi para seniman, desainer, dan siapapun yang tertarik dalam menciptakan
objek atau lingkungan yang interaktif.
Arduino mulanya dikembangkan di Ivrea, Italia. Nama Arduino sendiri
merupakan sebuah nama maskulin yang berarti teman yang kuat. Platform
arduino terdiri dari beberapa bagian yaitu arduino board, shield, bahasa
pemrograman arduino, dan arduino development environment. Arduino
board biasanya mempunyai sebuah chip dasar mikrokontroler Atmel AVR
ATmega8, berikut turunannya. Blok diagram arduino board yang
disederhanakan dapat dilihat pada Gambar 2.2. Shield adalah sebuah papan
yang bisa dipasang diatas arduino board untuk menambah kemampuan dari
arduino board.
Gambar 2.2 Blok Diagram Arduino Board[4]
Bahasa pemrograman arduino adalah bahasa pemrograman yang umum
digunakan dalam membuat perangkat lunak yang ditanamkan pada arduino
Laporan Tugas Akhir BAB II 11
STT Telematika Telkom Purwokerto D312050
board. Bahasa pemrograman arduino mirip dengan bahasa pada
pemrograman C++.
Arduino Development Environment adalah perangkat lunak yang
digunakan dalam menulis dan meng-compile program untuk arduino.
Arduino Development Environment juga digunakan untuk meng-upload
program yang sudah di-compile ke memori program pada arduino board.
2.2.1. Arduino Uno
Arduino Uno adalah arduino board yang menggunakan
mikrokontroler berdasarkan ATmega328. Arduino Uno mempunyai
14 pin digital (6 pin yang dapat digunakan sebagai output PWM), 6
input analog, sebuah 16 MHz osilator kristal, sebuah koneksi USB,
sebuah konektor untuk sumber tegangan, sebuah header ICSP, dan
sebuah tombol reset. Arduino Uno memuat segala hal yang
dibutuhkan sebagai pendukung sebuah mikrokontroler. Hanya dengan
menhubungkannya ke sebuah komputer melalui kabel USB atau
memberikan tegangan DC dari baterai atau adaptor AC ke DC sudah
dapat membuatnya bekerja. Arduino Uno menggunakan
ATmega16U2 yang diprogram untuk USB-to-serial converter sebagai
komunikasi serial ke computer melalui port USB.
Gambar 2.3 Arduino Uno[5]
Adapun data teknis board Arduino UNO R3 adalah sebagai
berikut:
1. Mikrokontroler : ATmega328
2. Tegangan Operasi : 5V
Laporan Tugas Akhir BAB II 12
STT Telematika Telkom Purwokerto D312050
3. Tegangan Input (recommended) : 7 - 12 V
4. Tegangan Input (limit) : 6-20 V
5. Pin digital I/O : 14 (6 diantaranya pin PWM)
6. Pin Analog input : 6
7. Arus DC per pin I/O : 40 mA
8. Arus DC untuk pin 3.3 V : 150 mA
9. Flash Memory : 32 KB dengan 0.5 KB digunakan untuk
bootloader
10. SRAM : 2 KB
11. EEPROM : 1 KB
12. Kecepatan Pewaktuan : 16 Mhz
2.2.2. Pin Masukan Dan Keluaran Arduino Uno
Masing-masing dari 14 pin digital arduino uno bisa digunakan
sebagai masukan atau keluaran menggunakan fungsi pinMode(),
digitalWrite() dan digitalRead(). Setiap pin beroperasi pada tegangan
5 V. Setiap pin mampu menghasilkan atau menerima arus maksimum
sebasar 40 mA dan memiliki resistor pull-up internal (diputus secara
default) sebesar 20-30 KOhm. Sebagai tambahan, beberapa pin dari
masukan digital memiliki kegunaan khusus yaitu:
1. Komunikasi serial pin 0 (RX) dan pin 1 (TX), digunakan untuk
mengirim (TX) dan menerima (RX) data secara serial.
2. External Interrupt pada pin 2 dan pin 3, pin ini dapat
dikonfigurasi untuk memicu sebuah interrupt pada nilai rendah,
sisi naik atau turun, atau pada saat terjadi perubahan nilai.
3. Pulse-width modulation (PWM) pada pin 3,5,6,9,10 dan 11,
menyediakan keluaran PWM 8-bit dengan menggunakan fungsi
analogWrite().
4. Serial Peripheral Interface (SPI) pada pin 10 (SS), 11 (MOSI),
12 (MISO) dan 13 (SCK), pin ini mendukung komunikasi SPI
dengan menggunakan SPI library.
Laporan Tugas Akhir BAB II 13
STT Telematika Telkom Purwokerto D312050
5. LED pada pin 13, terdapat built-in LED yang terhubung ke pin
digital 13. Ketika pin bernilai HIGH maka LED akan menyala,
sebaliknya ketika pin bernilai LOW maka LED akan padam.
Arduino Uno mempunyai 6 masukan analog yang diberi label
A0 sampai A5, setiap pin menyediakan resolusi sebanyak 10 bit (1024
nilai yang berbeda). Secara default pin mengukur nilai tegangan dari
ground (0V) hingga 5V, meskipun begitu dimungkinkan untuk
mengganti nilai batas atas dengan menggunakan pin AREF dan fungsi
analogReference(). Sebagai tambahan beberapa pin masukan analog
memiliki fungsi khusus pada pin A4 (SDA) dan pin A5 (SCL) yang
digunakan untuk komunikasi Two Wire Interface (TWI) atau Inter
Integrated Circuit (I2C) dengan menggunakan Wire library.
2.2.3. Sumber Daya dan Pin Tegangan Arduino Uno
Arduino uno dapat diberi sumber daya melalui koneksi USB
(Universal Serial Bus) atau melalui power supply eksternal. Jika
arduino uno dihubungkan ke kedua sumber daya secara bersamaan
maka arduino uno akan memilih salah satu sumber daya secara
otomatis untuk digunakan. Power supplay external (yang bukan
melalui USB) bisa berasal dari adaptor AC ke DC atau baterai. Adaptor
dapat digunakan dengan menghubungkan ke soket power pada
arduino uno. Jika menggunakan baterai, ujung kabel yang
dibubungkan pada baterai dimasukkan kedalam pin GND dan Vin
yang berada pada konektor POWER.
Arduino uno dapat beroperasi ditegangan 6 sampai 20 volt. Jika
arduino uno diberi sumber tegangan di bawah 7 volt, maka pin 5V
akan menyediakan tegangan di bawah 5 volt dan arduino uno
mungkin bekerja tidak stabil. Jika arduino diberikan tegangan
melebihi 12 volt, penstabil tegangan kemungkinan akan menjadi
terlalu panas dan merusak arduino uno. Tegangan yang
direkomendasikan ke arduino uno berkisar antara 7 sampai 12 volt.
Pin-pin tegangan arduino uno adalah sebagai berikut:
Laporan Tugas Akhir BAB II 14
STT Telematika Telkom Purwokerto D312050
1. Vin merupakan pin untuk mengalirkan sumber tegangan ke
arduino uno ketika menggunakan sumber daya eksternal (selain
dari koneksi USB atau sumber daya yang teregulasi lainnya).
Sumber tegangan juga dapat disediakan melalui pin ini jika
sumber daya yang digunakan pada arduino uno dialirkan
melalui soket power.
2. 5V merupakan pin yang menyediakan tegangan teregulasi
sebesar 5 volt berasal dari regulator tegangan pada arduino uno.
3. 3V3 merupakan pin yang menyediakan tegangan teregulasi
sebesar 3,3 volt berasal dari regulator tegangan pada arduino
uno.
4. GND adalah pin untuk ground.
2.2.4. Bahasa Pemprograman Arduino
Arduino board adalah perangkat yang berbasiskan
mikrokontroler. Perangkat lunak (software) merupakan komponen
yang membuat mikrokontroller dapat bekerja. Arduino board akan
bekerja sesuai dengan perintah yang ada pada perangkat lunak yang
ditanamkan padanya.
Bahasa Pemrograman Arduino adalah bahasa pemrograman
utama yang digunakan dalam membuat program untuk arduino board.
Bahasa pemrograman pada arduino menggunakan bahasa
pemrograman C sebagai dasarnya.
Karena arduino menggunakan bahasa pemrograman C sebagai
dasarnya, bahasa pemrograman arduino memiliki banyak sekali
kemiripan, walaupun beberapa hal telah berubah.
2.2.5. Struktur
Setiap program didalam arduino board terdiri dari dua fungsi
utama yaitu setup() dan loop(). Instruksi yang berada pada fungsi
setup() dieksekusi hanya sekali, yaitu ketika arduino board pertama
kali dinyalakan. Biasanya instuksi yang berada dalam fungsi setup()
Laporan Tugas Akhir BAB II 15
STT Telematika Telkom Purwokerto D312050
merupakan konfigurasi dan inisialisasi dari arduino board. Instruksi
yang berada dalam fungsi loop() dieksekusi secara berulang-ulang
hingga arduino board dimatikan (catu daya diputus). Fungsi loop()
merupakan tugas utama pada arduino board. Jadi setiap program yang
menggunakan bahasa pemrograman arduino memilliki struktur
adalah sebagai berikut:
Program diatas bisa dianalogikan dalam bahasa C sebagai
berikut:
2.2.6. Konstanta
Konstanta adalah variable yang sudah ditetapkan sebelumnya
pada bahasa pemrograman arduino. Konstanta dipergunakan agar
program lebih mudah untuk dibaca dan dimengerti. Konstanta dibagi
menjadi 3 kelompok adalah sebagai berikut:
1. Konstanta yang digunakan dalam menunjukkan tingkat logika
(konstanta Boolean), yaitu true dan false.
2. Konstanta untuk menunjukkan keadaan pada pin, yaitu HIGH
dan LOW.
3. Konstanta untuk menunjukkan fungsi pada pin, yaitu INPUT,
INPUT_PULLUP dan OUTPUT.
Laporan Tugas Akhir BAB II 16
STT Telematika Telkom Purwokerto D312050
Konstanta yang digunakan dalam menunjukkan benar atau salah
dalam bahasa pemrograman arduino adalah true dan false. False lebih
mudah didefinisikan daripada true, False sering didefinisikan sebagai
0(nol). Sedangkan true sering didefinisikan sebagai 1(satu), yang
mana hal ini adalah benar, tetapi true memiliki definisi yang lebih
luas. Setiap integer yang bukan 0 (nol) adalah true dalam pengertian
Boolean. Jadi -2, 3 dan -100 semuanya bisa didefinisikan sebagai true,
dan juga dalam pengertian Boolean. Tidak seperti konstanta yang lain
kata true dan false diketik dengan menggunakan huruf kecil.
Ketika membaca atau menulis pada sebuah pin digital, terdapat
hanya dua nilai yang dapat diberikan atau diterima, yaitu HIGH dan
LOW. HIGH memiliki arti yang berbeda tergantung apakah sebuah
pin yang dikonfigurasi menjadi masukan atau keluaran. Ketika pin
dikonfigurasi sebagai masukan dengan fungsi pinMode(), lalu
kemudian dibaca dengan fungsi digitalRead(), mikrokontroler akan
melaporkan nilai HIGH jika tegangan yang ada pada pin tersebut
berada ditegangan 3 volt atau lebih.
Ketika sebuah pin dikonfigurasi sebagai masukan, dan
kemudian dibuat bernilai HIGH dengan fungsi digitalWrite(), maka
resistor pull-up internal pada chip ATmega akan aktif, yang akan
membawa pin masukan ke nilai HIGH kecuali pin tersebut ditarik
(pull-down) ke nilai LOW oleh sirkuit dari luar.
Ketika pin dikonfigurasi sebagai keluaran dengan fungsi
pinMode(), dan diset dinilai HIGH dengan fungsi digitalWrite(), maka
pin berada pada tegangan 5 volt. Dalam keadaan ini, pin tersebut dapat
memberikan arus, sebagai contoh, untuk menghidupkan LED yang
dihubung seri dengan resistor dan ground, atau pin lain yang
dikonfigurasi sebagai keluaran dan diberi nilai LOW.
Sama seperti HIGH, LOW juga memiliki arti yang berbeda
tergantung pada konfigurasi pin. Ketika pin dikonfigurasi sebagai
masukan, maka mikrokontroler akam melaporkan nilai LOW jika
tegangan pada pin berada pada tegangan 2 volt atau kurang. Ketika
Laporan Tugas Akhir BAB II 17
STT Telematika Telkom Purwokerto D312050
pin dikonfigurasi sebagai keluaran dan diberi nilai LOW maka pin
berada ditegangan 0 volt.
Setiap pin pada arduino bisa dikonfigurasi sebagai masukan,
masukan dengan resistor pull-up atau keluaran. Untuk
mengkonfigurasi fungsi dari pin pada arduino digunakan konstanta
INPUT, INPUT_PULLUP dan OUTPUT. Pin arduino yang
dikonfigurasi sebagai masukan dengan fungsi pinMode() bisa
dikatakan berada dalam kondisi berimpedansi tinggi. Pin yang
dikonfigurasi sebagai masukan memiliki permintaan yang dangat
kecil kepada sikuit yang di-sampling-nya, setara dengan sebuah
resistor 100 Megaohm dipasang seri dengan pin tersebut. Hal ini
membuat pin tersebut berguna dalam membaca sensor, tetapi tidak
pada menghidupkan sebuah LED.
Cip ATmega pada arduino mempunyai resisitor pull-up internal
(resistor yang terhubung ke sumber tegangan secara internal) yang
dapat digunakan. Untuk bisa menggunakan resistor pull-up internal
ini dapat menggunakan konstatnta INPUT_PULLUP pada fungsi
pinMode().
Ketika pin yang dikonfigurasi menjadi sebuah keluaran
dikatakan berada dalam kondisi berimpedansi rendah. Hal ini
membuat pin tersebut dapat menyediakan sejumlah besar arus ke
sirkuit yang lain. Pin pada ATmega mampu menyediakan arus sampai
40 mA.[4]
2.3. Liguid Crystal Display (LCD) 16x4[6]
LCD (Liquid Crystal Display) dapat diprogram agar bekerja sesuai
dengan aplikasi yang sudah dirancang. LCD pada prinsipnya sama dengan dot
matrix display. Jenis-jenis LCD yang ada pada pasaran ada dua jenis yaitu
LCD teks dan LCD Grafik. LCD Teks merupakan jenis LCD yang digunakan
untuk menampilkan teks atau angka dalam kode ASCII. Tidak seperti LCD
lainnya, LCD teks yang ada dibagi ke dalam sel, dimana tiap selnya hanya
bisa menampilkan karakter ASCII. Oleh karena itu LCD tersebut hanya
Laporan Tugas Akhir BAB II 18
STT Telematika Telkom Purwokerto D312050
dapat menampilkan karakter dalam ASCII sehingga jenis ini disebut LCD
Teks, sedangkan LCD grafik dapat menampilkan gambar. Setiap sel dari teks
LCD memuat "dot" kristal cair yang dikombinasi dan "tersembunyi" atau " "
titik-titik akan membentuk karakter untuk ditampilkan. Teks pada LCD,
bentuk karakternya telah disesuaikan. Ukuran Teks LCD ditentukan oleh
jumlah karakter yang dapat ditampilkan dalam satu baris dan LCD memiliki
baris total. Misalnya, LCD 16x4, dimana LCD ini mempunyai 4 baris dan
setiap barisnya dapat menampilkan hingga 16 karakter.
Tabel 2.1 Interface Pin Function LCD 16x4[9]
PIN NUMBER SYMBOL FUNCTION
1 Vss GND
2 Vdd ±3V Or ±5V
3 Vo Contrast Adjusment
4 RS H/L Register Select Signal
5 𝑅√𝑊 H/L Read/Write Signal
6 E H → L Enable Signal
7 DB0 H/L Data Bus Line
8 DB1 H/L Data Bus Line
9 DB2 H/L Data Bus Line
10 DB3 H/L Data Bus Line
11 DB4 H/L Data Bus Line
12 DB5 H/L Data Bus Line
13 DB6 H/L Data Bus Line
14 DB7 H/L Data Bus Line
15 𝐴√𝑉𝑒𝑒 ±4.2V For LEd (RA=0Ω) Negative Voltage Output
16 K Power Supply For B/L (0V)
Dua kaki LED Backlight LCD adalah nomor 15 dan 16 akan tetapi
dalam beberapa kasus dua kaki itu dicatat sebagai anoda (A) dan katoda (K).
Pada gambar 2.4 menjelaskan hubungan antara kontroler LCD dengan
sumber.
Laporan Tugas Akhir BAB II 19
STT Telematika Telkom Purwokerto D312050
Gambar 2.4 Konfigurasi Sambungan Pada Kaki LCD Teks[6]
Pemrograman LCD karakter pada CVAVR relatif lebih mudah jika
dibandingkan dengan menggunakan software standar C, seperti WinAVR.
Langkah pertama saat menggunakan LCD adalah dengan melakukan
inisialisasi LCD melalui project awal menjalankan Codevision AVR.
Berikut ini adalah beberapa perintah CAVR dalam pemprograman LCD:
Tabel 2.2 Perintah CVAVR dalam pemprograman LCD[6]
No Perintah Keterangan
1 Lcd_clear(); Menghapus layar LCD
2 Lcd_gotoxy(x,y); Menempatkan kursor pada posisi (
3 Lcd_putsf(“angka”); Menampilkan karakter “angka” pada flash
4 Lcd_putchar(x); Menampilkan karakter, atau kode ASCII x
5 Lcd_putchar(y); Menampilkan karakter pada Static RAM
2.3.1. Cara Kerja LCD
Pada aplikasi umumnya RW diberi logika rendah pada “0”. Bus
data terdiri dari 4-bit dan 8-bit. Jika jalur data 4-bit maka yang
digunakan adalah DB4 sampai dengan DB7. Seperti terlihat pada table
diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal
ini sangat memudahkan dan sangat cepat dalam pembacaan atau
penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan
sepanjang 8-bit dikirim pada LCD secara 4-bit atau 8 bit pada satu
Laporan Tugas Akhir BAB II 20
STT Telematika Telkom Purwokerto D312050
waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data yang
dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB
lalu 4-bit LSB dengan pulsa clock EN pada setiap nibblenya). Jalur
kontrol EN digunakan untuk memberitahu LCD bahwa
mikrokontroller mengirimkan data pada LCD. Untuk mengirim data
ke LCD program harus menset EN pada kondisi high “1” dan
kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga
mengirimkan data ke jalur data bus.
Saat jalur lainnya siap, EN harus diset ke “0” dan tunggu
beberapa saat (tergantung pada datasheet LCD), dan set EN kembali
ke high “1”. Ketika jalur RS berada didalam kondisi low “0”, data yang
dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi
khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS didalam
kondisi high atau “1”, data yang dikirimkan adalah berupa data ASCII
yang akan ditampilkan dilayar. Misalnya untuk menampilkan huruf
“A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus
berada pada kondisi low (0) saat informasi pada data bus akan
dituliskan ke LCD. Apabila R/W berada pada kondisi high “1”, maka
program akan melakukan query (pembacaan) data dari LCD. Instruksi
pembacaan hanya satu, yaitu Get LCD status (membaca status LCD),
yang lainnya merupakan instruksi penulisan. Jadi hampir semua
aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data
dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih oleh
pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7.
Mengirimkan data secara parallel baik 4-bit atau 8-bit merupakan 2
mode operasi primer. Dalam membuat sebuah aplikasi interface LCD,
menentukan mode operasi merupakan hal yang paling penting.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi hal
utama dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin
I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit
minimal hanya membutuhkan 7-bit (3 pin untuk kontrol dan 4 pin
untuk data). Bit RS digunakan dalam memilih apakah data atau
Laporan Tugas Akhir BAB II 21
STT Telematika Telkom Purwokerto D312050
instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika
bit ini di set pada RS = 1, maka byte pada posisi kursor LCD saat itu
dapat dibaca atau ditulis. Jika bit ini di reset pada RS = 0, maka
instruksi yang dikirim ke LCD atau status eksekusi dari instruksi
terakhir yang dibaca.[6]
Gambar 2.5 Skematik LCD 16x4[6]
2.4. Micro SD card Module[7]
SD Card Board untuk kartu SD standar. Hal ini memungkinkan sistem
untuk menambahkan penyimpanan dan data logging untuk penyimpanan data
sistem, sehingga data-data yang dihasilkan dari sistem yang kita buat dapat
secara otomatis tersimpan dalam memory ini.
Gambar 2.6 Micro SD Card Module[7]
Spesifikasi pada modul sd card:
Laporan Tugas Akhir BAB II 22
STT Telematika Telkom Purwokerto D312050
1. Board untuk standar kartu sd dan micro sd (TF) kartu
2. Berisi tombol untuk memilih slot kartu flash
3. Dudukan langsung pada arduino uno
1.4.1. SPI Library[10]
Serial Peripheral Interface (SPI) adalah protokol data serial
sinkron yang digunakan oleh mikrokontroler untuk berkomunikasi
dengan satu atau lebih perangkat peripheral cepat jarak pendek. Hal
ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler.
Dengan koneksi SPI selalu ada satu master perangkat (biasanya
mikrokontroler) yang mengontrol perangkat periferal. Biasanya ada
tiga jalur umum untuk semua perangkat.
1. MISO (Master In Slave Out) yang digunakan Slave Line untuk
mengirim data ke master.
2. MOSI (Master Out Slave In) yang digunakan Master Line untuk
mengirimkan data ke peripheral.
3. SCK (Serial Clock) - Clock Pulse yang menyinkronkan
transmisi data yang dihasilkan oleh master device.
Dan satu baris khusus untuk setiap perangkat, yaitu SS (Slave
Select) yang digunakan pin pada setiap perangkat yang
perangkat utama (Master Device) dapat gunakan untuk
mengaktifkan dan menonaktifkan perangkat tertentu.[10]