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 BPSK2.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 PROPada 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 internal2.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:
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 DelimiterMSB 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 DelimiterLength 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 ATmega3282.6.2 Konfigurasi PIN ATMega328
Gambar 2.9 Konfigurasi Pin ATMega328Tabel 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 kontrollerUSB 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 16Display 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 3D3D adalah dengan menambahkan be beberapa receiver.[11] Dalam penelitian ini d i difokuskan untuk 1 dimensi saja yaitu aitu jarak.
Gambar 3.1 Ilustrasi PenelitianHal 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 rangkaianDari 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 dataApakah 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 ATMega328PPada 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 mikrokontrolerPada 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 VoltTrafo 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 voltLP2985-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 mikrokontroller3.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
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