5
BAB II
TINJAUAN PUSTAKA
2.1 Received Signal Strength Indicator (RSSI)
Dalam telekomunikasi, Received Signal Strength Indicator (RSSI) adalah sebuah ukuran kekuatan sinyal radio yang diterima oleh receiver. Teknologi
localization node of wireless sensor network(WSN) biasanya menggunakan nilai RSSI untuk melakukan pengukuran jarak [2]
Dengan mengumpulkan nilai RSSI, maka dapat ditentukan jarak antara
transmitter dan receiver. 2.1.1 Model Shadowing
Persamaan 2.1 adalah model shadowing yang banyak digunakan dalam
tranmisi sinyal wireless.[3]
= − 10 lg + (2.1)
Keterangan, d adalah jarak dari pemancar dan penerima demgan satuan
dalam meter, do adalah jarak referensi yang biasa bernilai sama dengan 1 meter,
Pr(d) adalah kekuatan sinyal yang diterima oleh penerima (dBm), XdBm adalah
variabel acak Gaussian yang nilai rata-ratanya adalah 0, nilai ini menggambarkan
perubahan kekuatan sinyal yang diterima dalam jarak tertentu, n adalah indeks
path loss.
Sehingga diperoleh persamaan model shadowing yang disederhanakan
yang ditunjukkan pada persamaan 2.2.
6 Dengan do= 1m, sehingga diperoleh persamaan pengukuran jarak
berdasarkan pada nilai RSSI yang digunakan dalam praktek ditunjukkan dalam
persamaan dibawah ini.
= = − 10 lg (2.3)
= 10 !""#$%& (2.4)
Dengan A adalah kekuatan sinyal yang diterima dalam jarak 1m dengan
satuan dBm.[4]
Tabel 1. Indeks path loss untuk lingkungan yang berbeda-beda
Lingkungan Indeks path loss, n
Free Space 2
Urban area cellular radio 2,7 – 3.5
Shadowed urban cellular radio 3 – 5
Line of Sight 1,6 – 1,8
Terhalang gedung-gedung 4 -6
Terhalang pabrik-pabrik 2 – 3
2.2 Gelombang Radio
Gelombang radio adalah satu bentuk dari radiasi elektromagnetik, dan
terbentuk ketika objek bermuatan listrik dari gelombang osilator (gelombang
pembawa) dimodulasi(ditumpangkan frekuensinya) dengan frekuensi yang
terdapat dalam frekuensi gelombang radio (RF; "radio frequency")) pada suatu
spektrum elektromagnetik, dan radiasi elektromagnetiknya bergerak dengan cara
osilasi elektrik maupun magnetik. Frekuensi radio adalah tingkat osilasi dalam
kisaran 3 kHz sampai 300 GHz, yang sesuai dengan frekuensi gelombang radio,
dan arus bolak yang membawa sinyal radio.
Gelombang elektromagnetik lain yang memiliki frekuensi di atas
gelombang radio meliputi sinar gamma, sinar-X, inframerah, ultraviolet, dan
Ketika gelo
antena, osilasi dar
arus bolak-balik d
kemudian dapat di
atau lainnya yang
radio dipakai seba
genggam pada um
Tabel 2. Nama-na
elombang radio dikirim melalui kabel kemudia
ari medan listrik dan magnetik tersebut dinyat
k dan voltase di dalam kabel. Dari pancaran ge
t diubah oleh radio penerima (pesawat radio) m
ng membawa siaran dan informasi. Aplikasi tr
ebagai dasar gelombang pada televisi, radio,
mumnya.
nama band yang terdapat dalam spectrum freku
7 dian dipancarkan oleh
yatakan dalam bentuk
gelombang radio ini
menjadi signal audio
i tranmisi gelombang
o, radar, dan telepon
8 2.3 Spread Spectrum
Sistem komunikasi spread spectrum dilatarbelakangi oleh kebutuhan akan
sistem komunikasi yang dapat mengatasi masalah interferensi, dapat menjamin
kerahasiaan informasi yang dikirim dan dapat beroperasi pada tingkat signal to
noise ratio (S/N) yang rendah atau tahan terhadap derau yang besar. Dalam sistem
komunkasi sekarang ini, dimana penggunaan frekuensi sudah cukup padat sehingga
interferensi dan noise dari transceiver lain cukup besar. Pengembangan selanjutnya,
digunakan pada sistem penentuan lokasi dengan ketetapan tinggi (high-resolution
ranging), sistem anti lintasan jamak (anti multipath) dan sistem akses jamak
(multiple access).
Ada beberapa metode dari sistem spread spectrum yang didasarkan
pada teknik modulasi, diantaranya.
a. Direct Sequence Spread Spectrum (DSSS)
b. Frequency Hopping Spread Spectrum (FHSS)
Kode yang digunakan spread spectrum memiliki sifat random (acak) tetapi
berulang secara periodal sehingga dinamakan acak semu (Pseudorandom) atau
sering juga disebut noise semu (Pseudonoise). Pembangkit sinyal kode pseudonoise
disebut Pseudo Random Generator (PRG) atau Pseudo Noise Generator (PNG)
yang dapat direalisasikan dengan susunan shift register dengan umpan balik
tertentu dan sering disebut Shift Register Generator (SRG).
Sinyal informasi akan memodulasi sinyal pembawa dan menghasilkan
sinyal pembawa yang dimodulasi data. Sinyal pembawa yang telah dimodulasi data
akan ditebarkan pada bandwidth frekuensi yang lebih besar. Proses penebaran
diakukan dengan cara mengkorelasikan dengan kode Pseudonoise (PN) yang
dihasilkan oleh Pseudo Random Generator (PRG). Hasil proses penebaran adalah
berupa sinyal spread spectrum.
Pada penerima spread spectrum terjadi proses despreading dilakukan
dengan cara mengalikan sinyal yang diterima (sinyal spread spectrum) dengan
kode PN yang terdapat pada sistem penerima. Proses despreading akan mengubah
9 2.3.1 Sistem Direct Sequence Spread Spectrum (DSSS)
DSSS dipilih karena adanya kemudahan dalam mengacak data yang akan di
spreading. Dalam DSSS spreading hanya menggunakan sebuah generator noise
yang periodik yang disebut Pseudo Noise Generator (PNG). Kode yang digunakan
pada sistem spread spectrum memiliki sifat acak tetapi periodik sehingga disebut
sinyal acak semu disebut Pseudo Random Generator (PRG). Kode tersebut bersifat
sebagai noise tapi deterministik sehingga disebut juga noise semu (Pseudo Noise).
Kode PN merupakan rangkaian bit yang berkecepatan tinggi yang bernilai polar (1
dan -1) atau non polar (1 dan 0). Pembangkit sinyal kode ini disebut Pseudo
Random Generator (PRG) atau Pseudo Noise Generator (PNG). PRG inilah yang
akan melebarkan (sehingga memiliki frekuensi yang lebih tinggi) dan sekaligus
mengacak sinyal data yang akan dikirimkan. Dalam skema ini, masing masing bit
pada sinyal yang asli ditampilkan oleh bit-bit multipel pada sinyal yang
ditransmisikan, yang disebut kode tipis (chipping). Kode tipis yang menyebarkan
secara langsung sepanjang band frekuensi yang lebih luas sebanding dengan
jumlah bit yang dipergunakan. Oleh karena itu, kode tipis 10-bit menyebarkan
sinyal sepanjang band frekuensi yang 10 kali lebih besar dibandingkan kode tipis
1-bit.
Patut dicatat bahwa bit informasi dari satu(logika 1) mengalikan bit-bit
pseudorandom dalam kombinasi tersebut sehingga sinyal keluaran memiliki nilai
yang sama dengan kode PN, sementara bit informasi 0 menyebabkan bit-bit
pseudorandom ditransmisikan dengan mengalami inversi. Kombinasi bit stream
memiliki data rate yang sama dengan deretan pseudorandom yang asli, sehingga
memiliki bandwidth yang lebih lebar dibandingkan dengan stream informasi. Pada
10 Gambar 2.1a DSSS Pada Pemancar
Gambar 2.1b DSSS Pada Penerima
Gambar 2.1 menunjukkan implementasi deretan langsung yang khusus.
Dalam hal ini, stream informasi dan stream pseudorandom bahkan dikonversi ke
sinyal-sinyal analog lalu dikombinasikan, bukannya menunjukkan OR-eksklusif
dari dua stream dan kemudian memodulasikannya. Penyebaran spektrum dapat
dicapai melalui teknik deretan langsung yang ditentukan dengan mudah. Sebagai
contoh, anggap saja sinyal informasi memiliki lebar bit sebesar tb yang ekuivalen
terhadap rate data = 1/tb. Dalam hal ini, bandwidth sinyal tergantung pada teknik
pengkodean, kira-kira 2/tb. Hampir sama dengan itu, bandwidth sinyal
pseudorandom adalah 2/Tc dimana Tc adalah lebar bit pseudorandom input.
11 tersebut. Jumlah penyebaran yang dicapai adalah hasil langsung dari rate data
pseudorandom. Semakin besar data rate pseudorandom input, semakin besar
jumlah penyebarannya. [16]
Gambar 2.2 Contoh DSSS Menggunakan BPSK
2.4 Modul Wireless Radio frekuensi 2.4Ghz XBee PRO
Radio Frequency Tranciever atau pengirim dan penerima frequensi radio ini berfungsi untuk komunikasi secara nirkabel (wireless). Salah satu modul komunikasi wireless dengan frekuensi 2.4Ghz adalah Xbee-PRO ZB ZigBee/IEEE
802.15.4 2.4GHz. Radio frequency tranciever ini merupakan sebuah modul yang terdiri dari RF receiver dan RF transmiter. Modul RF interface XBee/XBee-PRO ZB ini berhubungan dengan melalui logic-level asynchronous serial port. Melalui
serial port ini, modul dapat berkomunikasi dengan logic dan voltage kompatibel
Universal Asynchronous Receiver-Transmitter (UART) atau melalui level
translator ke semua serial device contohnya pada RS-232 atau USB interface
board. UART atau Universal Asynchronous Receiver-Transmitter adalah bagian
perangkat keras komputer yang menerjemahkan bit-bit paralel data dan bit-bit
serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk
12 yang memiliki interface UART dapat terhubung langsung pada pin modul RF.
Sistem data flow diagram pada UART dapat dilihat pada Gambar 2.3.[6]
Gambar 2.3 Sistem data flow diagram pada lingkungan UART.
Gambar 2.4 modul XBee PRO
Pada dasarnya, XBee memiliki 2 mode beroperasi yakni mode
Transparant dan API. Akan tetapi, apabila mode API digunakan, dibutuhkan
pemaketan data RF. Untuk itu, data akan di-buffer terlebih dahulu sebelum
dikirim atau diterima. Flow data serial menjadi paket RF. Pada XBee apabila
ada data input (DI), data akan masuk ke DI buffer. Setelah itu, input data akan
diteruskan ke RF TX buffer, kemudian untuk mentransmisikan input data,
posisi RF switch menjadi transmitter. Begitu juga sebaliknya, apabila ada data
yang diterima, posisi RF switch menjadi receiver lalu data akan masuk RF RX
13 kemudian DO diteruskan dari XBee ke host. Diagram data flow internal XBee
dapat dilihat pada Gambar 2.5.[6]
Gambar 2.5 Diagram data flow internal
2.5 Setting Alamat Modul XBee PRO (AT command)
Langkah pertama yang harus dilakukan dalam menggunakan Xbee-PRO
agar dapat melakukan komunikasi point to point adalah melakukan setting konfigurasi alamat (address). Proses konfigurasi ini dapat dilakukan melalui
perangkat lunak X-CTU yang merupakan perangkat lunak aplikasi khusus untuk
Xbee-PRO. Cara lain untuk melakukan setting dapat dilakukan melaui
hyperterminal. Untuk melakukan seting konfigurasi address melalui
hyperterminal ada dua metode. Metode pertama disebut one line per command
dan metode kedua disebut multiple command on one line.
Metode 1 (One line per command)
Send AT Command Sistem Response
+++ OK <CR> (Enter into Command Mode)
ATDL <Enter> {current value}<CR> (Read Destination Address Low)
ATDL1A0D <Enter> OK <CR> (Modify Destination Address Low)
14 ATCN <Enter> OK <CR> (Exit Command Mode)
Metode 2 (Multiple commands on one line)
Send AT Command Sistem Response
+++ OK <CR> (Enter into Command Mode)
ATDL <Enter> {current value}<CR> (Read Destination Address Low)
ATDL1A0D,WR,CN<Enter> OK<CR> OK<CR> OK <CR>
Setelah Command diatas selesai, maka Xbee kembali ke mode transparent.
Xbee radio memiliki 64-bit nomor serial yang dicetak pada dibelakangnya.
Alamat bagian awalnya (high) 0013A200. Alamat bagian terakhirnya (low) akan
selalu berbeda disetiap modul RF. Semua merk Xbee memiliki alamat awalnya
adalah 0013A200.[7]
2.6 API mode
Pada mode operasi XBee Application Programming Interface (API), data
yang masuk diurutkan pada frame sesuai dengan urutan yang telah ditentukan.
Data frame yang berurutan ini akan membantu dalam proses membedakan
command, command response, dan status pengiriman. API frame dapat dilihat
pada Gambar 2.6.[6]
Gambar 2.6 struktur UART data frame
• Frame Delimiter: merupakan suatu byte (0x7E) yang membatasi antara satu API frame dan API frame yang lain atau menandakan bahwa API frame
15
• Length terdiri dari 2 byte (MSB dan LSB) yang menspesifikasi jumlah byte yang terkandung dalam kotak frame data. Namun tidak termasuk checksum.
• Frame data: frame yang berisikan data utama dari API.
Frame data dari uart data frame membentuk struktur API-specific sebagai
berikut:
Gambar 2.7 Frame data UART dan Struktur API-spesifik
cmdID frame (API-identifier) menandakan bahwa pesan API
terkandung dalam cmdData frame. Modul Xbee mendukung API frame
berikut:
Tabel 3. Nama API frame dan Nilainya
API Frame Names API ID
AT Command Request 0x08
AT Command- Queue Parameter Value 0x09
ZigBee Transmit Request 0x10
Explicit Addressing ZigBee Command Frame 0x11
Remote Command Request 0x17
Create Source Route 0x21
AT Command Response 0x88
Modem Status 0x8A
ZigBee Transmit Status 0x8B
ZigBee Receive Packet (AO=0) 0x90
ZigBee Explicit Rx Indicator (AO=1) 0x91
ZigBee IO Data Sample Rx Indicator 0x92
XBee Sensor Read Indicator (AO=0) 0x94
Node Identification Indicator (AO=0) 0x95
16
Over-the-Air Firmware Update Status 0xA0
Route Record Indicator 0xA1
Frame data yang digunakan pada penelitian ini terdapat tiga jenis yaitu
Zigbee Receive Packet, AT Command dan AT Command Response.
2.6.1 Zigbee Receive Pakcet
Frame Type : 0x90
Ketika modul menerima RF data, data dikirim keluar secara UART
menggunakan jenis pesan ini.
Tabel 4. Urutan jenis frame untuk Zigbee RX Packet
Frame Fields Offset Example Description
Start
Delimiter
0 0x7E
Length MSB 1 0x00 Number of bytes between the
17
0x7D 16-bit address of sender
LSB 13 0x84
from offset 3 to this byte.
2.6.2 AT Command Request
Frame type : 0x08
Jenis frame ini digunakan untuk menanyakan atau men-setting
parameter-parameter modul pada perangkat local. Penerapan API command
ini berubah setelah pengeksekusian command. Contoh API berikut
18 Dalam hal ini, tidak perlu mengirim “AT” karena jenis frame Api yang
digunakan adalah AT command request.
Tabel 5. Urutan Frame AT Command Request
A
Frame Fields Offset Example Description
Start
Delimiter
0 0x7E
Length MSB 1 0x00 Number of bytes between
the length and the
to set the given register. If
no characters present,
register is queried.
Checksum
9 0x0D 0xFF - the 8 bit sum of
bytes from offset 3 to this
19 Contoh diatas menggambarkan sebuah AT command ketika menanyakan nilai
NJ.
2.6.3 AT Command Response
Frame Type : 0x88
Dalam response sebuah pesan AT command, modul Xbee akan
mengirim sebuah pesan AT Command Response. Sebagai contoh, perintah
BD(Baud rate).
Tabel 6. Urutan AT Command Response
A
Frame Fields Offset Example Description
Start
Delimiter
0 0x7E
Length MSB 1 0x00 Number of bytes between
20 Command
Data
Register data in binary
format. If the register was
set, then this field is not
returned, as in this
example.
Checksum
8 0x0D 0xFF - the 8 bit sum of
bytes from offset 3 to this
byte.
Contoh : jika parameter BD diubah pada perangkat local dengan frame ID
0x01. Jika sukses (parameter valid) maka respon seperti diatas akan diterima. [6]
2.7. Deskripsi Command
Modul Xbee Pro ZB memperkirakan nilai numerik dalam heksadesimal.
Nilai heksadesimal ditunjukkan dengan awalan “0x”. Setiap perintah terkandung
dalam katagori perintah.
2.7.1 DB (Receive Signal Strength) Command
Parameter DB digunakan untuk membaca kekuatan sinyal yang diterima
dalam dBm dari paket RF yang diterima terakhir. Nilai yang dilaporkan akurat
antara - 40 dBm dan sensitivitas modul RF penerima. Nilai absolut dilaporkan
dari modul sebagai contoh: 0x58 = - 88 dBm (desimal). Jika tidak ada paket RF
yang diterima (setelah reset terakhir, power cycle atau sleep event) , maka “0”
yang akan dilaporkan.
AT Command : ATDB
Parameter Range [read-only]:
0x17-0x5C (XBee), 0x24-0x64 (XBee-PRO)
Perintah ATDB dapat dilakukan langsung melalui hyperterminal, dengan terlebih
21 2.8 Mikrokontroler
Mikrokontroller merupakan sebuah processor yang digunakan untuk
kepentingan kontrol. Meskipun mempunyai bentuk yang jauh lebih kecil dari
suatu komputer pribadi dan computer mainframe, mikrokontroller dibangun dari
elemen – elemen dasar yang sama. Seperti umumnya komputer, mikrokontroller
adalah alat yang mengerjakan instruksi – instruksi yang diberikan kepadanya.
Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah
program itu sendiri yang dibuat oleh seorang programmer. Program ini
menginstruksikan komputer untuk melakukan tugas yang lebih kompleks yang
diinginkan oleh programmer. [8]
Beberapa fitur yang umumnya ada di dalam mikrokontroller adalah
sebagai berikut :
• RAM ( Random Access Memory )
RAM digunakan oleh mikrokontroller untuk tempat penyimpanan
variable. Memori ini bersifat volatile yang berarti akan kehilangan semua datanya
jika tidak mendapatkan catu daya.
• ROM ( Read Only Memory )
ROM seringkali disebut sebagai kode memori karena berfungsi untuk
tempat penyimpanan program yang akan diberikan oleh user.
• Register
Merupakan tempat penyimpanan nilai – nilai yang akan digunakandalam
proses yang telah disediakan oleh mikrokontroller.
• Special Function Register
Merupakan register khusus yang berfungsi untuk mengatur jalannya
mikrokontroller. Register ini terletak pada RAM.
22 Pin input adalah bagian yang berfungsi sebagai penerima signal dari luar,
pin ini dapat dihubungkan ke berbagai media inputan seperti keypad, sensor, dan
sebagainya. Pin output adalah bagian yang berfungsi untuk mengeluarkan signal
dari hasil proses algoritma mikrokontroller.
• Interrupt
Interrupt bagian dari mikrokontroller yang berfungsi sebagai bagian yang
dapat melakukan interupsi, sehingga ketika program utama sedang berjalan,
program utama tersebut dapat diinterupsi dan menjalankan program interupsi
terlebih dahulu.
Beberapa interrupt pada umumnya adalah sebagai berikut :
Interrupt Eksternal
Interrupt akan terjadi bila ada inputan dari pin interrupt
Interrupt timer
Interrupt akan terjadi bila waktu tertentu telah tercapai
Interrupt serial
Interupt yang terjadi ketika ada penerimaan data dari komunikasi serial[8]
2.8.1 Fitur AVR ATMega328
ATMega328 adalah mikrokontroller keluaran dari atmel yang
mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana
setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed
Instruction Set Computer).
Mikrokontroller ini memiliki beberapa fitur antara lain :
• 130 macam instruksi yang hampir semuanya dieksekusidalam satu siklus clock.
• 32 x 8-bit register serba guna.
23
• 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
• Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena
EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
• Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
• Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
• Master / Slave SPI Serial interface.
Mikrokontroller ATmega 328 memiliki arsitektur Harvard, yaitu
memisahkan memori untuk kode program dan memori untuk data sehingga dapat
memaksimalkan kerja dan parallelism. Instruksi – instruksi dalam memori
program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi
dikerjakan instruksi berikutnya sudah diambil dari memori program. Konsep inilah
yang memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus
clock.
32 x 8-bit register serba guna digunakan untuk mendukung operasi pada
ALU ( Arithmatic Logic unit ) yang dapat dilakukan dalam satu siklus. 6 dari
register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada
mode pengalamatan tak langsung untuk mengambil data pada ruang memori data.
Ketiga register pointer 16-bit ini disebut dengan register X ( gabungan R26 dan
R27 ), register Y ( gabungan R28 dan R29 ), dan register Z ( gabungan R30 dan
R31 ).
Hampir semua instruksi AVR memiliki format 16-bit. Setiap alamat
memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna
di atas, terdapat register lain yang terpetakan dengan teknik memory mapped I/O
selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain
sebagai register control Timer/ Counter, Interupsi, ADC, USART, SPI, EEPROM,
dan fungsi I/O lainnya. Register – register ini menempati memori pada alamat
24 Berikut ini adalah tampilan architecture ATmega 328 :
Gambar 2.8 Architecture ATmega328 2.6.2 Konfigurasi PIN ATMega328
25 Tabel 7. Konfigurasi Port B
26 Tabel 9. Konfigurasi Port D
2.8.2 Fitur Mikrokontroller ATmega16U2
Atmega16U2 memiliki fitur USB dan ISP Flash Controller. Fitur USB
controller pada Atmega16U2 adalah
- Complies fully with Universal Serial Bus Specification REV 2.0
- 48 MHz PLL for Full-speed Bus Operation : data transfer rates at 12 Mbit/s
USB kontroller menyediakan hardware untuk mengimplementasi sebuah
perangkat USB2.0 full-speed yang sesuai dalam Atmega16U2. Diagram blok
27 Gambar 2.10 Diagram blok USB kontroller
USB kontroller memerlukan sebuah referensi clock 48MHz ± 0.25%
untuk penyesuaian USB full-speed. Clock ini dibangkitkan oleh sebuah internal
PLL. Refereni clock untuk PLL harus disediakan oleh sebuah eksternal kristal
atau masukan eksternal clock. Hanya kedua opsi clock ini yang mampu
menyediakan referensi clock dalam kebutuhan akurasi dan jitter spesifikasi USB.
Untuk memenuhi spesifikasi karakteristik listrik USB, USB Pad (D + atau
D-) harus didukung pada tegangan 3.0V ke 3.6V. Mikrokontroller Atmega16U2
dapat diberi tegangan hingga 5.5V, suatu regulator internal tersedia agar
mendukung USB pad dengan benar.
a. Pilihan Powering Modul USB
Berdasarkan pada target aplikasi catu daya yang dipilih (Vcc),
Atmega16U2 USB kontroller membutuhkan skema powering yang berbeda,
28 Gambar 2.11 Mode pengoperasian versus frekuensi dan catu daya (Vcc)
ATmega16U2 tampil sebagai virtual com port untuk perangkat lunak
pada komputer. Firmware Atmega16U2 meneggunakan driver standar USB
COM. [15]
2.9 Liquid Crystal Display (LCD) 2x16
Kegunaan LCD banyak sekali dalam perancangan suatu system
dengan menggunakan mikrokontroler. LCD (Liquid Crystal Display) dapat berfungsi untuk menampilkan suatu nilai hasil sensor, menampilkan teks, atau
menampilkan menu pada aplikasi mikrokontroler. Pada praktek proyek ini, LCD
yang digunakan adalah LCD 16 x 2 yang artinya lebar display 2 baris 16 kolom
dengan 16 Pin konektor.[8]
Adapun konfigurasi dan deskripsi dari pin-pin LCD antara lain:
GND 0V (Pin 1) : Merupakan sumber tegangan +5V
VCC (Pin 2) : Merupakan sambungan ground.
VEE (Pin 3) : Merupakan input tegangan Kontras LCD.
29 Perintah, 1 = register data
R/W (Pin 5) : Merupakan read select, 1 = read, 0 = write.
Enable Clock LCD (Pin 6) : Merupakan masukan logika 1 setiap kali
pengiriman Atau pembacaan data
D0 – D7 (Pin 7 – Pin 14) : Merupakan Data Bus 1 -7
Anoda ( Pin 15) : Merupakan masukan tegangan positif
backlight
Katoda (Pin 16) : Merupakan masukan tegangan negatif
backlight
Gambar 2.12 LCD 2 x 16
Display karakter pada LCD diatur oleh pin EN, RS dan RW. Jalur EN
dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa
sebuah data sedang dikirimkan. Untuk mengirimkan data ke LCD, maka
melalui program EN harus dibuat logika low “0” dan set pada dua jalur
kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set
3.1 Metode Pene
l Strenght Indocator (RSSI) untuk mengetahui j sceiver 2. Untuk satu dimensi pengukuran
ang pertama dilakukan adalah melakukan
ilai RSSI pada jarak 1 meter yang dijadikan
an 2.3. Kemudian dilakukan pengujian dari j
ngan pengujian pada jarak 100m-200m(deng
tukan batas kemampuan alat dalam mengu
31 3.2 Perancangan Alat
3.2.1 Diagram Blok Rangkaian
Adapun diagram blok dari sistem yang dirancang, seperti yang
diperlihatkan pada gambar 3.2
Gambar 3.2 Diagram blok rangkaian
Dari blok diagram pada Gambar 3.2 menunjukkan skema perangkat
keras pendukung sistem. Pada rancangan alat ukur jarak yang terdiri dari dua
buah transceiver Xbee XBP24-Z7WIT-004 yaitu satu buah sebagai transmitter
(remote node) dan satu buah receiver (local noder). Kemudian data RSSI akan
dicatat dan disimpan pada database visual basic (PC) dan di analisa jarak
antara kedua titik wireless tersebut.
Modul Xbee 1 dan MCU 1 sebagai local MCU, modul Xbee 2 dan
32 3.2.2 Flowchart
tidak
ya
Gambar 3.3 Diagram alir data Apakah nilai
Kirim Nilai RSSI ke Visual basic 6.0 melalui ATMega
33 3.2.3 Rangkaian Mikrokontroller Atmega328P
Pada Gambar 3.4 menampilkan rangkaian sistem minimum
mikrokontroler Atmega328P, atau dengan kata lain rangkaian yang harus ada
untuk menjalankan suatu mikrokontroler
Gambar 3.4. Sistem mikrokontroller ATMega328P
Pada Gambar 3.4 menunjukkan rangkaian minimal yang diperlukan
agar mikrokontroler mampu bekerja. Sistem tersebut terdiri dari x-tal Q1
senilai 16 MHz, 2 buah kapasitor senilai 22pF. Komponen ini berfungsi
34 kapasitor 10uF/16V dan sebuah resistor senilai 10KΩ. Dengan pemasangan
kapasitor dan resitor ini, pada saat power supply dinyalakan maka
mikrokontroler akan reset secara otomatis, kemudian bekerja secara normal.
Hal ini disebabkan oleh proses pengisian dan pengosongan pada komponen
kapasitor. Pada kaki-kaki PB5, PB4 dan PB3 serta RST (Reset) dihubungkan
ke PC untuk jalur pemrograman secara langsung. Atau biasa disebut ISP (In
Sistem Programming).
3.2.4 Rangkaian ATMega16U2
Komunikasi serial merupakan hal yang penting dalam sistem
embedded, karena dengan komunikasi serial kita dapat dengan mudah
menghubungkan mikrokontroler dengan devais lainnya. Komunikasi 16U2
dengan 328P menggunakan Komunikasi serial UART, sehingga hanya
membutuhkan pin RX 16U2 yang dihubungkan ke pin TX 328P dan pin TX
16U2 dihubungkan ke pin RX 328P. Mikrokontroller Atmega16U2 berperan
sebagai jembatan antara port USB komputer dan port serial prosesor utama
(atmega328P) karena fitur USB Rev.2.0-nya . Atmega16U2 menjalankan
software yang disebut firmware (dinamakan demikian karena tidak bisa
mengubahnya setelah diprogram dalam chip) yang dapat diperbarui(updated)
melalui protokol usb khusus yang disebut DFU (Device Firmware Update).
Firmware tersebut yang berperan sebagai konverter USB ke Serial.
35 DFU (Device Firmware Update) adalah mekanisme yang diterapkan
untuk melakukan modifikasi perangkat firmware. Setiap perangkat yang
mendukung USB dapat memanfaatkan kemampuan ini. Suatu perangkat tidak
bisa secara bersamaan melakukan dua operasi yaitu DFU mode dan aktivitas
normalnya, aktifitas normal tersebut harus berhenti selama operasi DFU.[17]
3.2.5 Rangkaian LCD (Liquid Crystal Display)
LCD adalah suatu display dari bahan cairan Kristal yang berfungsi
menampilkan suatu nilai hasil sensor, menampilkan teks, atau menampilkan
menu pada aplikasi mikrokontroler.
Gambar 3.6 Rangkaian Skematik dari LCD ke mikrokontroler
Pada gambar rangkaian di atas pin 2 dihubungkan ke Vcc (5V), pin 1
dan 16 dihubungkan ke Gnd (Ground), pin 3 merupakan pengaturan tegangan
Contrast dari LCD, pin 4 merupakan Register Select (RS), pin 5 merupakan
R/W (Read/Write) dihubungkan ke ground(0v) karena program yang akan
dibuat hanya memerintah untuk menulis ke LCD, pin 6 merupakan Enable, pin
11-14 merupakan data. Reset, Enable dan data dihubungkan ke
mikrokontroler Atmega328P. Fungsi dari potensiometer (R1) adalah untuk
36 Tabel 10. Koneksi hubungan antara Modul Lcd dengan Mikrokontroller
Pin Lcd Keterangan Pin
Mikrokontroller
Keterangan
1 GND 8 GND
2 +5V 7 Vcc
4 RS 18 Port B.4
5 RW 8 GND
6 EN 17 Port B.3
11 D4 13 Port D.7
12 D5 12 Port D.6
13 D6 11 Port D.5
14 D7 6 Port D.4
3.2.6 Rangkaian Power Supply
a. Power Supply 5 volt
Rangkaian power supply berfungsi untuk mensupplay arus dan
tegangan ke seluruh rangkaian yang ada. Rangkaian power supply ini terdiri
dari satu keluaran, yaitu 5 volt, keluaran 5 volt digunakan untuk
menghidupkan seluruh rangkaian termasuk rangkaian power supply 3,3 volt,
karena rangkaian power supply 3,3 volt tersebut memerlukan tegangan input
sebesar 5 volt agar tegangan keluarannya stabil sehingga tidak mengganggu
proses pengiriman dan penerimaan data melalui gelombang radio. Rangkaian
skematik power supply 5 volt dapat dilihat pada gambar 3.6 di bawah ini:
37 Gambar 3.7. Rangkaian power supply 5 Volt
Trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220
volt AC menjadi 12 volt AC & 6 volt AC. Kemudian 12 volt AC akan
disearahkan dengan menggunakan dua buah dioda, selanjutnya 5 volt DC akan
diratakan oleh kapasitor 2200 µF. Regulator tegangan 5 volt (LM7805CT)
digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi
perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila
PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi sebagai penguat arus
apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan
38 b. Power Supply 3,3 volt
Gambar 3.8 Rangkaian power supply 3,3 volt
LP2985-33DBVR digunakan untuk meregulasi tegangan masuk (5
volt) menjadi tegangan keluaran 3,3 volt. Kapasitor pada keluaran (pin 5)
digunakan untuk stabilitas tegangan keluaran. Pin ON/OFF dihubungkan ke
Vin jika fitur shutdown tidak digunakan.[13] 3.3 Perancangan Perangkat keras
3.3.1 Perancangan Xbee Pro Series 2 dengan Atmega328P
39 Dalam penelitian ini menggunakan 2 buah modul wireless, yaitu jenis
Xbee Pro Series 2. Setiap Xbee memiliki alamat masing-masing yakni
0013A200409EE10C (local node) dan 0013A200409EE0D2 (remote node).
Komunikasi Xbee dengan mikrokontroller menggunakan Komunikasi
serial UART, sehingga hanya membutuhkan pin RX Xbee yang dihubungkan
ke pin TX mikrokontroller dan pin TX Xbee dihubungkan ke pin RX
mikrokontroller.
3.4 Flowchart pada Mikrokontroller dan Visual Basic (PC)
3.4.1 Remote Mikrokontroller
Konsep pemrograman pada remote mikrokontroler dapat digambarkan dengan menggunakan diagram alir (flowchart) seperti berikut
Gambar 3.10 Flowchart program pada remote mikrokontroller
3.4.2 Local Mikrokontroller
Konsep pemrograman pada local mikrokontroler dapat digambarkan dengan menggunakan diagram alir (flowchart) seperti berikut
Mulai
Inisialisasi serial
Kirim Data serial melalui pin TX
40 tidak
ya
tidak
ya
41 Alur kerja diagram alir adalah sebagai berikut:
1. Start dimulainya program
2. Pertama-tama dilakukan untuk inisialisasi serial dan port, proses ini
berfungsi untuk mendefinisikan pin-pin I/O mikrokontroller yang akan
digunakan dalam rangkaian dan untuk menentukan baud rate yang
digunakan untuk mengirim data serial.
3. Melakukan proses pembacaan serial receive buffer, apakah receive
buffer menerima RF data ? Jika ada RF data packet yang diterima
maka mikrokontroller akan meminta AT command “ATDB”, jika tidak
ada maka mikrokontroller akan terus melakukan pengecekan pada
serial receive buffer.
4. Kemudian mikrokontroller akan melakukan delay selama 200ms untuk
menunggu respon dari Xbee.
5. Melakukan proses pembacaan serial receive buffer kembali, apakah
ada respon AT command dibalas oleh Xbee? Jika ada mulai melakukan
pembacaan setiap byte yang dikirim Xbee sebanyak 10 kali, jika tidak
ada maka mikrokontroller akan terus melakukan pengecekan pada
serial receive buffer.
6. Tampilkan nilai byte ke 8 ke LCD dan kirim nilai tersebut ke PC
42 3.4.3 Visual Basic (PC)
tidak
ya
Gambar 3.12 Flowchar Program pada Visual Basic 6.0 Mulai
Inisialisasi serial dan port
Jika ada/tidak data yang diterima pada
serial receive ?
Simpan data yang diterima ke “buffer"
Pisahkan string dengan angka, angka di simpan
ke “IntRssi”
Delay 1000 milisekon
Ambil nilai rata-rata Rssi dari 25 data, simpan ke “IntTotal”
jarak = 10 ^ ((IntTotal - 51.375) / 17.6)
Tampilkan jarak
Selesai Ambil nilai IntRssi