BAB II TINJAUAN PUSTAKA - Perancangan Sistem Pengukur Jarak Antara 2 Titik Wireless Xbee Pro Berdasarkan Nilai Rssi

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]

  (2.1) = − 10 lg +

  Keterangan, d adalah jarak dari pemancar dan penerima demgan satuan dalam meter, d o adalah jarak referensi yang biasa bernilai sama dengan 1 meter, P r (d) adalah kekuatan sinyal yang diterima oleh penerima (dBm), X dBm 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.

  (2.2) = − 10 lg Dengan d o = 1m, sehingga diperoleh persamaan pengukuran jarak berdasarkan pada nilai RSSI yang digunakan dalam praktek ditunjukkan dalam persamaan dibawah ini.

  = = − 10 lg (2.3)

  !""# $%&

  (2.4) = 10

  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 cahaya terlihat.

  Ketika gelo elombang radio dikirim melalui kabel kemudia dian dipancarkan oleh antena, osilasi dar ari medan listrik dan magnetik tersebut dinyat yatakan dalam bentuk arus bolak-balik d k dan voltase di dalam kabel. Dari pancaran ge gelombang radio ini kemudian dapat di t diubah oleh radio penerima (pesawat radio) m menjadi signal audio atau lainnya yang ng membawa siaran dan informasi. Aplikasi tr i tranmisi gelombang radio dipakai seba ebagai dasar gelombang pada televisi, radio, o, radar, dan telepon genggam pada um mumnya.

  Tabel 2. Nama-na nama band yang terdapat dalam spectrum freku ekuensi radio[5]

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 spektrum sinyal pembawa yang dimodulasi data kembali ke bandwidth semula.

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 contoh ini, bit stream lebih besar 3 kali lipat rate informasi.

  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. Bandwidth sinyal yang dikombinasikan kira-kira sebesar jumlah dari 2 bandwidth 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 komunikasi serial pada komputer atau port serial perangkat peripheral. Device 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 buffer, kemudian data diteruskan ke DO buffer lalu menjadi data output (DO), kemudian DO diteruskan dari XBee ke host. Diagram data flow internal XBee dapat dilihat pada Gambar 2.5.[6]

  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.

Gambar 2.5 Diagram data flow internal

2.5 Setting Alamat Modul XBee PRO (AT command)

  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) ATWR <Enter> OK <CR> (Write to non-volatile memory)

  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 dimulai.
  • 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

  Remote Command Response 0x97 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

  A P

  I P A Frame Fields Offset Example Description Start Delimiter

  0x7E

  Length MSB 1 0x00 Number of bytes between the

  length and the checksum LSB 2 0x12

  Frame- specific Data

  Frame Type 3 0x90 Frame ID 4 0x00 Identifies the UART data frame for the host to correlate with a subsequent ACK (acknowledgement). If set to 0, no response is sent.

  MSB 5 0x13 6 0xA2 7 0x00

  C 64-bit

  8 0x40 64-bit address of sender

  K Source

  9 0x52

  E Address

  10 0x2B

  T

  LSB 11 0xAA

  16-bit MSB 0x7D 16-bit address of sender Source

  12 Network

  Address

  LSB 13 0x84 14 0x01 0x01 - Packet

  Receive Options Acknowledged

  0x02 - Packet was a broadcast packet

  Received

  15 0x52

  Data

  16 0x78 Received RF data 17 0x44

  18 0x61 19 0x74 20 0x61

   Checksum

  21 0x0D 0xFF - the 8 bit sum of bytes 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 menggambarkan sebuah frame API untuk menanyakan nilai parameter NJ. Dalam hal ini, tidak perlu mengirim “AT” karena jenis frame Api yang digunakan adalah AT command request.

  Tabel 5. Urutan Frame AT Command Request

  

Frame Fields Offset Example Description

Start 0x7E Delimiter

  MSB 1 0x00 Number of bytes between

  Length

  the length and the LSB 2 0x12 checksum

  Frame- Frame Type 3 0x08 A specific Frame ID

  4 0x01 Identifies the UART data

  P Data

  frame for the host to

  I

  correlate with a subsequent ACK (acknowledgement). If set to 0, no response is

  P sent. A AT

  5 0x4E (N) Command Name - Two

  C Command ASCII characters that K

  identify the AT Command 6 0x4A (J)

  E T Parameter Value If present, indicates the (optional) requested parameter value

  to set the given register. If no characters present, register is queried. 9 0x0D 0xFF - the 8 bit sum of

  

Checksum bytes from offset 3 to this

byte.

  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

  

Frame Fields Offset Example Description

Start 0x7E Delimiter

Length MSB 1 0x00 Number of bytes between

  LSB 2 0x05 the length and the checksum

  Frame- Frame Type 3 0x88 A specific

  Frame ID 4 0x01 Identifies the UART data

  P Data

  frame for the host to

  I

  correlate with a subsequent ACK (acknowledgement). If set to 0, no response is

  P sent. A

  5 ‘B’ = Command Name - Two

  AT C Command 0x42 ASCII characters that K

  6 ‘D’ = identify the AT Command

  E

  0x44

  T Command

  7 0x00 0= OK

  

Status 1= ERROR

  2= Invalid Command 3 = Invalid Parameter

   Command Register data in binary Data format. If the register was

  set, then this field is not returned, as in this example. 8 0x0D 0xFF - the 8 bit sum of

  

Checksum 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 dahulu mengetik +++ untuk masuk ke Command Mode.

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.
  • Input dan Output Pin

  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.
  • Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
  • 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 0x20h – 0x5Fh.[9]

  Berikut ini adalah tampilan architecture ATmega 328 :

Gambar 2.8 Architecture ATmega328

2.6.2 Konfigurasi PIN ATMega328

Gambar 2.9 Konfigurasi Pin ATMega328

  Tabel 7. Konfigurasi Port B Tabel 8. Konfigurasi Port C 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 sederhana USB kontroller digambarkan sebagai berikut,

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, seperti telihat pada gambar berikut,

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. RS Register Select (Pin 4) : Merupakan Register pilihan 0 = Register

  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 EN dengan logika “1” dan tunggu dan berikutnya di set.[10]

BAB III PERANCANGAN SISTEM

3.1 Metode Pene enelitian

  Metode de pengukuran jarak dalam penelitian ini me menggunakan prinsip

  

Riceived Signal S l Strenght Indocator (RSSI) untuk mengetahui j ui jarak Transceiver 1

  terhadap Transce sceiver 2. Untuk satu dimensi pengukuran dapat dilihat pada

gambar 7.1. Tran ransceiver A dan B berada pada situasi line-of of- sight. Umumnya untuk memung ngkinkan posisinya secara 2D atau 3D

  3D adalah dengan menambahkan be beberapa receiver.[11] Dalam penelitian ini d i difokuskan untuk 1 dimensi saja yaitu aitu jarak.

Gambar 3.1 Ilustrasi Penelitian

  Hal yang ang pertama dilakukan adalah melakukan n percobaan untuk menetapkan nilai ilai RSSI pada jarak 1 meter yang dijadikan n nilai konstanta A pada persamaan an 2.3. Kemudian dilakukan pengujian dari j ri jarak 5m-90m dan dilanjutkan deng ngan pengujian pada jarak 100m-200m(deng engan interval 10m) untuk menentuk tukan batas kemampuan alat dalam mengu gukur jarak dengan kesalah(error) ter terkecil.

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 MCU 2 sebagai remote MCU.

3.2.2 Flowchart tidak ya

Gambar 3.3 Diagram alir data

  Apakah nilai RSSI ≠ 0x00 ?

  Local Xbee menerima RF data

  Tampilkan nilai RSSI ke LCD

  Ambil sampel RSSI 25 kali Analisa nilai RSSI ke jarak

  Selesai

  Remote MCU 2mengirim RF

  Data ‘0’ Local MCU mengecek nilai RSSI

  Cek kembali konfigurasi dari kedua Xbee

  Mulai

  Kirim Nilai RSSI ke Visual basic 6.0 melalui ATMega

  16U2

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 sebagai osilator untuk mikrokontroler. Sistem reset otomatis menggunakan 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.

Gambar 3.5 Sistem Mikrokontroller Atmega16u2 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 mengatur gelap/terangnya karakter yang ditampilkan pada LCD. Tabel 10. Koneksi hubungan antara Modul Lcd dengan Mikrokontroller Pin Lcd Keterangan Pin

  Mikrokontroller Keterangan

  13 Port D.7

  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:

  6 Port D.4

  14 D7

  11 Port D.5

  13 D6

  12 Port D.6

  12 D5

  11 D4

  1 GND

  17 Port B.3

  6 EN

  8 GND

  5 RW

  18 Port B.4

  4 RS

  7 Vcc

  8 GND 2 +5V

3.2.6 Rangkaian Power Supply

a. Power Supply 5 volt

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 (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar.

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

Gambar 3.9 Antarmuka Xbee ke mikrokontroller 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

  selesai

  Delay 1000 miliseconds

  Mulai Inisialisasi serial dan port tidak

  Jika ada/tidak data yang diterima pada receive serial buffer? ya

  Kirim API AT Command request ,” ATDB” Cek kembali receive serial buffer

  Delay 200 miliseconds Jika ada/tidak data tidak respon dari AT command? ya

  For Int i =0 ; i <10; i++ Baca serial receive buffer

  Tampilkan Byte ke 8 ke LCD selesai

Gambar 3.11 Flowchart program pada mikrokontroller lokal 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 karena nilai byte tersebut merupakan nilai RSSI yang akan dianalisa.

3.4.3 Visual Basic (PC)

  tidak ya

  • 51.375) / 17.6) Tampilkan jarak

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

  Selesai Ambil nilai IntRssi sebanyak 25 kali