BAB 2 LANDASAN TEORI 2.1 Robotika 2.1.1 Sejarah Robot Kata robot berasal dari Czech yaitu robot yang berarti bekerja. Istilah ini diperkenalkan ke publik oleh Karel Capek pada saat mementaskan RUR (Rossum’s Universals Robots) pada tahun 1921. Robot adalah peralatan eletro-mekanik atau biomekanik, atau gabungan peralatan yang menghasilkan gerakan yang otonomi maupun gerakan berdasarkan gerakan yang diperintahkan. Awal kemunculan robot dapat dirunut dari bangsa Yunani kuno yang membuat patung yang dapat dipindah-pindah. Pada tahun 270 SM, Ctesibus seorang insinyur Yunani, membuat organ dan jam air dengan komponen yang dapat dipindahkan. Pada zaman Nabi Muhammad SAW telah dibuat mesin perang dengan menggunakan roda dan dapat melontarkan bom. Bahkan Al-Jajari (1136-1206), seorang ilmuan Islam pada dinasti Artuqid, dianggap sebagai tokoh yang pertama kali menciptakan robot humanoid yang berfungsi sebagai 4 musisi. Robot adalah rangkaian peralatan mekanika dan elektronika yang di rangkai bersama-sama yang bekerja dan beroperasi sesuai dengan instruksi atau program. Robot yang selama ini kita kenal adalah sebuah mesin berbentuk manusia yang dapat berbicara dan berjalan layaknya manusia. Robot tersebut adalah salah satu jenis robot berdasarkan bentuknya yaitu kategori Android. Robot jenis ini berbentuk seperti kendaraan yang dilengkapi dengan roda dan bergerak seperti sebuah mobil. Humanoids, robot direkayasa untuk meniru bentuk manusia dan fungsi, telah menjadi semakin mampu dalam beberapa tahun terakhir . Misalnya, Albert Hubo, dari Korea Advanced Institut Sains dan Teknologi ( KAIST ), mampu berjalan, berjabat tangan, pegang benda, dan berbicara dengan ekspresi wajah realistis. Honda ASIMO 7 telah berjalan ke sebuah gedung konser panggung dan melakukan Detroit Symphony Orchestra, dan Wakamaru robot, diproduksi oleh Mitsubishi, telah dilakukan dalam produksi teater di Osaka, Jepang. The Kawada HRP2 humanoid dapat melakukan rumit tarian tradisional Jepang. Semua robot ini pertunjukan, bagaimanapun, telah mempekerjakan direncanakan gerakan koreografi yang memiliki telah diprogram cermat, pada dasarnya dengan tangan (David Grunberg, 2010) 2.1.2 Karakteristik Robot Sebuah robot umumnya memiliki karakteristik sebagai berikut: 1. Sensing : Robot dapat mendeteksi lingkungan sekitarnya (halangan, panas, suara, dan image). 2. Mampu Bergerak : Robot umumnya bergerak dengan menggunakan kaki atau roda, dan pada beberapa kasus robot dapat terbang dan berenang. 3. Cerdas : Robot memiliki kecerdasan buatan agar dapat memutuskan aksi yang tepat dan akurat. 4. Membutuhkan Energi yang Memadai : Robot membutuhkan catu daya yang memadai. 2.1.3 Tipe Robot Robot didesain dan dibuat sesuai kebutuhan pengguna. Robot, hingga saat ini, secara umum dibagi menjadi beberapa tipe sebagai berikut: 1. Robot manipulator 2. Robot mobil (mobile robot) a. Robot daratan (ground robot) 1. Robot beroda 2. Robot berkaki b. Robot air (submarine robot) c. Robot terbang (aerial robot) Robot manipulator biasanya dicirikan dengan memiliki lengan (arm robot). Robot ini biasanya diterapkan pada dunia industri, seperti pada industri otomotif, 8 elektronik dan komputer. Sedangkan robot mobil mengarah ke robot yang bergerak, meskipun nantinya robot ini juga memiliki manipulator. 2.2 Logika Fuzzy 2.2.1 Sejarah Logika Fuzzy Logika fuzzy pertama kali dikembangkan oleh Prof. Lotfi A. Zadeh, seorang peneliti dari Universitas California, pada tahun 1960-an. Logika fuzzy dikembangkan dari teori himpunan fuzzy. Kurangnya pengetahuan yang tepat dan lengkap tentang lingkungan membatasi penerapan desain sistem kontrol konvensional ke domain dari mobile robot otonom. Apa yang dibutuhkan adalah kontrol cerdas dan pengambilan keputusan sistem dengan kemampuan untuk berpikir di bawah ketidakpastian dan belajar dari pengalaman. Misalnya, banyak penelitian telah dilakukan di aplikasi mobile robot dengan masalah pasti seperti, logika fuzzy, jaringan saraf dan algoritma evolusioner. Sistem logika fuzzy (FLS) memiliki kemampuan menangani tak terduga dan ketidakpastian masalah. Dalam penelitian robotika, FLS adalah sistem kontrol yang mampu menavigasi mobile robot otonom tanpa campur tangan manusia. Dengan menggunakan aturan FLS, mobile robot tergantung pada perilaku sistem. Pendekatan berbasis perilaku dengan sistem logika fuzzy bertujuan untuk mengembangkan arsitektur agen cerdas, serta struktur kontrol yang efektif untuk mengendalikan agen atau robot fisik. Karena fleksibilitas yang tinggi dan kecepatan reaktif terhadap lingkungan tidak terstruktur, ketahanan dan keandalan sistem, dan kemampuan yang kuat untuk memperluas dan pembelajaran, pendekatan ini telah diterapkan umum dalam penelitian robot. Namun, sebagai sebuah sistem, perilaku mobile robot diperlakukan sebagai sistem keseluruhan dan dimodelkan dalam tingkat agregat. Oleh karena itu algoritma yang efisien yang terpisah dari pemodelan mobile robot diperlukan, karena robot mobile dan perilakunya adalah bagian interaktif dari keseluruhan sistem. Metode pemodelan menerapkannya ke bidang penelitian robot sistematis sangat mungkin untuk 9 Secara luas menggunakan teknik fuzzy logic dengan pendekatan berbasis perilaku dalam aplikasi mobile robot adalah jenis - 1 kabur sistem logika (T1FLS). Namun, dalam pelaksanaannya, T1FLS memiliki satu batasan . Pembatasan adalah bahwa himpunan fuzzy adalah tertentu dalam arti bahwa kelas keanggotaan untuk setiap masukan adalah nilai crisp. Ini berarti bahwa itu , dalam tingkat tertentu , hanya memetakan nilai crisp menjadi nilai crisp lain mulai dari 0 ke 1, menghilangkan sifat ketidakpastian yang awalnya menawarkan sebagai manfaat dari logika fuzzy. Hilangnya sifat ketidakpastian menyebabkan kinerja kegagalan ketidakpastian penanganan (Siti Nurmaini,2012). Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar. Suatu nilai dapat bernilai besar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan yang memiliki rentang nilai 0 (nol) hingga 1(satu). Berbeda dengan himpunan tegas yang memiliki nilai 1 atau 0 (ya atau tidak). Logika Fuzzy merupakan seuatu logika yang memiliki nilai kekaburan atau kesamaran (fuzzyness) antara benar atau salah. Dalam teori logika fuzzy suatu nilai bias bernilai benar atau salah secara bersama. Namun berapa besar keberadaan dan kesalahan suatu tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika digital yang hanya memiliki dua nilai 1 atau 0. Logika fuzzy digunakan untuk menterjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic), misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Dan logika fuzzy menunjukan sejauh mana suatu nilai itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik (scrisp)/ tegas, suatu nilai hanya mempunyai 2 kemungkinan yaitu merupakan suatu anggota himpunan atau tidak. Derajat keanggotaan 0 (nol) artinya nilai bukan merupakan anggota himpunan dan 1 (satu) berarti nilai tersebut adalah anggota himpunan. Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama (Kusumadewi. 2004). Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti 10 seperti "sedikit", "lumayan" dan "sangat" (Zadeh 1965). Kelebihan dari teori logika fuzzy adalah kemampuan dalam proses penalaran secara bahasa (linguistic reasoning). Sehingga dalam perancangannya tidak memerlukan persamaan matematik dari objek yang akan dikendalikan. Pada kebanyakan sistem rekayasa, ada dua sumber informasi yang penting, yaitu sensor – yang menyediakan pengukuran numerik dari variabel, dan tenaga ahli (human expert) – yang menyediakan instruksi linguistik dan deskripsi tentang sistem. Informasi dari sensor dapat disebut sebagai informasi numerik, sedangkan informasi dari tenaga ahli disebut informasi linguistik. Informasi numerik dinyatakan dengan angka, seperti 2, 3, 4, sementara informasi linguistik dinyatakan dengan kata-kata seperti besar, kecil, sangat panas, dan sebagainya. Pendekatan rekayasa konvensional banyak memanfaatkan informasi numerik dan sedikit sulit untuk memanfaatkan informasi linguistik. Mengingat begitu banyak pengetahuan manusia yang dinyatakan dengan istilah-istilah linguistik, memadukannya dengan sistem rekayasa secara sistematik dan efisien sangatlah penting. Informasi linguistik biasanya disajikan dengan istilah-istilah yang kabur alias fuzzy. Hal ini paling tidak ada tiga alasan yang dapat dikemukakan. Pertama, kita biasanya akan merasa lebih mudah dan efisien untuk mengkonsumsi pengetahuan kita dalam bentuk fuzzy. Hal ini dapat dimengerti karena kalau kita memaksakan untuk memakai istilah-istilah yang pasti dan kaku (crisp terms) maka yang pertama harus kita dapatkan adalah definisi yang pasti dari istilah diatas. Ini akan mengakibatkan kita terperangkap dalam prosedur yang sangat tidak efisien dan tidak praktis yang jelas-jelas tidak akan pernah kita hadapi dalam kehidupan sehari-hari. Kedua, pengetahuan kita tentang banyak persoalan pada hakikatnya adalah fuzzy. Sebagai contoh, ketika kita mempelajari teori baru, kita sering mengalami bahwa kita mengerti teori tersebut secara garis besarnya saja. Kita memperkenalkan teori itu kepada orang lain maka orang tersebut hanya akan mendapatkan gambaran yang fuzzy dari teori itu. Hal yang menarik adalah, meskipun gambarannya kurang jelas tetapi seringkali kita dapatkan bahwa perkenalan tersebut memenuhi tujuan dan sasaran yang diharapkan. Sebagai contoh, mengetahui motivasi, ide dasar, keuntungan, dan kerugian mungkin mencukupi untuk manajer tingkat tinggi. Ketiga banyak sistem yang terlalu rumit kalau dinyatakan dalam bentuk yang pasti . sebagai contoh, pengetahuan kita tentang suatu proses kimia mungkin hanya dapat dinyatakan dengan istilah-istilah yang fuzzy, 11 seperti, “Kalau suhunya naik dan alirannya tinggi maka tekanannya akan bertambah tinggi.” Hal menarik yang dapat kita lihat disini adalah meskipun informasi linguistik tidak persis tetap ia dapat memberikan informasi yang penting mengenai sistem dan kadangkala hanya itulah informasi yang tersedia. Karena itu maka akan menarik kalau kita dapat menggunakan informasi fuzzy tersebut secara ilmiah. Berikut ini akan dipaparkan beberapa metode yang secara efektif mampu mengkombinasikan informasi numerik dan linguistik dan memanfaatkannya untuk memecahkan masalah sistem kontrol (meskipun pada hakikatnya tidak harus terbatas pada bidang kontrol, tetapi bisa juga yang lain seperti pemrosesan sinyal, komunikasi, ekonomi, atau politik). Untuk keperluan tersebut maka dipakai sistem fuzzy adaptif. Sistem fuzzy adaptif didefinisikan sebagai sistem logika fuzzy yang dilengkapi dengan algoritma pembelajaran. Sistem logika fuzzy tersebut disusun dari suatu kumpulan aturan JIKA-MAKA (IF-THEN) fuzzy sedangkan algoritma pembelajarannya dapat mengubah parameter dan struktur dari sistem logika fuzzy berdasarkan informasi numerik. Sistem fuzzy adaptif dapat dipandang sebagai sistem logika fuzzy yang memiliki kemampuan untuk membangkitkan aturan-aturan (rule) secara otomatis melalui proses pembelajaran (Kuswandi, 2007). 2.2.2 Fuzzyfikasi Proses fuzzyfikasi merupakan proses untuk mengubah variabel non-fuzzy (variabel numerik) menjadi variabel fuzzy (variabel linguistik). Nilai masukkan yang masih dalam bentuk variabel numerik yang telah dikuantisasi sebelum diolah oleh pengendali logika fuzzy harus diubah terlebih dahulu ke dalam variabel fuzzy. Melalui fungsi keanggotaan yang telah disusun maka dari nilai-nilai masukkan tersebut menjadi informasi fuzzy yang berguna nantinya untuk proses pengolahan secara fuzzy pula. Proses ini disebut fuzzyfikasi (Kuswandi,2007). 2.3 Mikrokontroller ATMega32 Mikrokontroler adalah chip yang berisi berbagai unit penting untuk melakukan pemrosesan data (I/O, timer, memory, Arithmatic Logic Unit (ALU) dan lainnya) sehingga dapat berlaku sebagai pengendali dan komputer sederhana (Susilo, 2010). Ada juga yang berpendapat bahwa mikrokontroller merupakan sebuah kombinasi dari 12 sebuah CPU, memori dan I/O yang terintegrasi dalam bentuk sebuah IC atau dapat disebut dengan single Chip. Mikrokontroller AVR (Alf and Vegard’s Risc Processor) standart memiliki arsitektur 8 – bit, dimana semua intruksi dikemas dalam kode 16 – bit dan sebagian besar intruksi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Intruction Set Computing). Kontrol utama dari keseluruhan sistem pada penelitian ini ditangani oleh mikrokontroler AVR (Alf and Vegard’s Risc Processor) ATmega32. Mikrokontroler ini memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16 – bit, dan sebagian besar instruksinya dieksekusi dalam satu siklus clock. Kelebihan dari ATmega32 sehingga digunakan sebagai kontrol utama adalah sebagai berikut[8]: 1. Mempunyai performa yang tinggi (berkecepatan akses maksimum 16MHz) tetapi hemat daya. 2. Memori untuk program flash cukup besar yaitu 32Kb. 3. Memori internal (SRAM) cukup besar yaitu 2Kb. 4. Mendukung hubungan serial SPI. 5. Tersedia 3 channel timer/counter (2 untuk 8 bits dan 1 untuk 16 bits). Gambar 2.1 Bentuk Fisik Mikrokontroller ATMega32A Mikrokontroler Keluarga AVR secara umum dikelompokkan menjadi 6 (enam) kelompok, yaitu(Iswanto, 2009) : a. Keluarga ATtini : biasanya bentuk dimensinya kecil, ukuran memori kecil, jumlah pin masukan dan keluaran juga sedikit. b. Keluarga AT90Sxx : Merupakan mikrokontroler yang pertama kali dibuat oleh Atmel Corp. c. keluarga ATMega : Merupakan pengembangan mikrokontroler AT90Sxx dengan fitur yang lebih banyak. d. Keluarga AT86RFxx : Merupakan mikrokontroler berorientasi desai minimal. 13 e. Keluarga AT90USBxx : Merupakan mikrokontroler yang berorientasi pemrograman USB. f. Keluarga AVR 32 Bit contohnya AP7000, UC3Axxxx, UC3Bxxx, UC3Lxx, dsb : Merupakan mikrokontroler dengan register dan instruksi dengan panjang 32 bit. Mikrokontroler ATMega32 adalah keluarga dari ATMega yang memiliki Arsitektur seperti gambar 2.2 berikut : Gambar 2.2 Arsitektur Mikrokontroller ATMega32A Fitur-fitur yang dimiliki oleh ATMega32A adalah sebagai berikut: a. Performa tinggi, mikrokontroler berdaya rendah. b. Mikrokontroler dengan arsitektur RISC 8 bit. 1. 131 kode instruksi dalam bahasa assembly, hampir semua membutuhkan satu clock untuk eksekusi. 14 2. Mempunyai 32 x 8 bit register kerja kegunaan umum. 3. Pengoprasian full static, artinya clock dapat diperlambat, bahkan dihentikan sehingga chip berada dalam kondisi sleep. CMOS juga lebih tahan terhadap noise. 4. Kecepatan mengeksekusi sampai dengan 16 mega instruksi per detik pada saat diberikan osilator sebesar 16 MHZ. 5. Terdapat rangkaian pengali 2 (dua) kali untuk siklus kerjanya di dalam chip. c. Flash EEPROM (Electrically Eraseable Programmable Read Only Memory) sebesar 32 kilobyte yang dapat diprogram ulang dan dengan kemampuan Read While Write. d. Ketahanan hapus-tulis Flash ROM adalah 10.000 kali dengan pengaturan pilihan kode boot dan Lock Bit yang independen. e. Memori SRAM sebesar 2 kilobyte yang dapat dihapus-tulis 100.000 kali. f. Penguncian kode program untuk keamanan perangakat lunak agar tidak dapat dibaca. g. Memori yang non-volatile EEPROM sebesar 1024 byte. h. Memiliki 2 buah timer/counter 8 bit sebanyak 2 buah dan sebuah timer/counter 16 bit dengan opsi PWM sebanyak 4 kanal. i. Memiliki 8 kanal Analog to Digital Converter 10 bit dengan jenis single ended. j. Untuk kemasan TQFP ADC dapat diatur 7 buah kanal jenis diferensial dan khusus 2 kanal dengan penguatan yang dapat diatur melalui registernya sebesar 1x, 10x atau 20x. k. Antarmuka komunikasi serial USART yang dapat diprogram dengan kecepatan maksimal 2,5 Mbps. l. Antarmuka SPI master / slave. m. Watchdog timer dengan osilator di dalam chip yang dapat diprogram. n. Komparator Analog di dalam chip. o. Pendeteksian tegangan gagal yang dapat diprogram. p. Osilator RC internal yang terkalibrasi. q. Sumber interupsi internal dan eksternal. r. Pilihan Mode sleep : idle, pereduksi noise ADC, penghematan daya konsumsi, penurunan daya, kondisi standby. s. 32 Pin masukan dan keluaran terprogram. 15 t. Terdapat pilihan kemasan PDIP 40 pin,TQFP 44 kaki, QFN/MLF 44 titik. u. Tegangan pengoprasian 1. 2,7 – 5,5 Volt untuk ATMega32L 2. 4,5 – 5,5 Volt untuk ATMega32 v. Kecepatan 1. 0 – 8 MHz untuk ATMega32L 2. 0 – 16 MHz untuk ATMega32 w. Konsumsi daya pada 1 MHz, 3 Volt, suhu 25o C untuk ATMega32L. 1. Aktif : 1,1 Miliampere 2. Mode idle : 0,35 Miliampere 3. Mode power down : kurang dari 1 Mikroampere ATMega32 dapat dilihat pada Gambar 2.3 berikut. Gambar 2.3 Penampang dan Konfigurasi Pin Mikrokontroller ATMega32A 16 Konfigurasi Pin ATMega32A dapat dilihat pada tabel 2.1 berikut: Tabel 2.1 Konfigurasi Pin ATMega32 Nomor Pin Nama Fungsi 10 VCC Catu daya positif 11, 31 GND Catu daya negative/ground 30 AVCC Catu daya positif untuk ADC internal 32 AREF Pin untuk tegangan referensi AADC 1–8 PB7…PB0 Pin masukan dan keluaran Port B 33 – 40 PA7…PA0 Pin masukan dan keluaran Port A 14 – 21 PD7…PD0 Pin masukan dan keluaran Port D 22 – 29 PC7…PC0 Pin masukan dan keluaran Port C 9 RESET Pin masukan untuk reset (active low) 12, 13 XTAL1 dan 2 Pin untuk masukan osilator eksternal Memori ATMega32 dapat dilihat pada gambar 2.4 berikut: (a) (b) Gambar 2.4 : Memory ATMega32 (a) Flash Program Memory, (b) Data Memory 17 Untuk dapat menggunakan atau mengoprasikan mikrokontroller ATMega32, harus dibuat sistem minimum yang meliputi komponen antara lain : sumber tegangan (Vcc) sebesar 5V DC, Ground (Gnd) dan sistem reset. Mikrokontroller ATMega32 memiliki clock generator internal sebesar 1 MHz, sehingga mikrokontroller ini dapat bekerja langsung tanpa harus menggunakan clock external. Untuk membuat program mikrokotroler ATMega32 digunakan editor dan compiler untuk bahasa C. Dalam pembahasan ini editor dan compiler yang digunakan adalah WinAVR. Setelah proses pembuatan dan kompilasi program selesai dilakukan akan diperoleh file intel hex (*.hex). File ini adalah file yang nantinya akan diprogramkan ke mikrokontroler ATMega32 melalui interface bsd programmer (Brian Dean's Programmer) yang terhubung ke komputer melalui antarmuka port paralel komputer. Koneksi antara ATmega32 dan port paralel untuk bsd programmer diberikan oleh tabel 2.2. Tabel 2.2 Koneksi Pin Port Paralel dan ATmega32 Port Paralel ATMega32 No pin Nama pin No pin Nama pin 7 D5 9 Reset 8 D6 8 SCK 9 D7 6 MOSI 10 S6 7 MISO 25 Ground 11 Ground 2.3.1 Cara Kerja Mikrokontroller Prinsip kerja mikrokontroler adalah sebagai berikut: Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna. Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai 18 pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data. Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan. 2.4 Aktuator Aktuator adalah bagian yang berfungsi sebagai penggerak dari perintah yang diberikan oleh input. Aktuator biasanya merupakan peranti elektromekanik yang menghasilkan gaya gerakan. Aktuator terdiri dari 2 jenis, yaitu: 1. Aktuator elektrik 2. Aktuator pneumatik dan hidrolik. Pada penelitian ini aktuator yang akan digunakan adalah aktuator elektrik yang berupa motor DC yang akan dijelaskan sebagai berikut : 2.4.1 Motor DC Motor DC adalah suatu mesin yang berfungsi untuk mengubah energi listik arus searah menjadi energi gerak atau energi mekanik. Motor yang paling sederhana untuk pengaktifannya. Motor DC terdiri dari dua bagian utama, yaitu rotor dan stator. Rotor adalah bagian yang berputar atau armature, berupa koil dimana arus listrik dapat mengalir. Stator adalah bagian yang tetap dan menghasilkan medan magnet dari koilnya (Cholik, 2014). Prinsip kerja motor DC adalah jika kumparan dialiri arus listrik maka pada kedua kumparan akan bekerja gaya Lorentz. Pada gambar 2.5 dapat dilihat prinsip kerja gaya Lorentz, dimana gaya yang jatuh pada telapak tangan (F), jari yang direntangkan menunjukan arah medan magnet (B), ibu jari menunjukkan arah arus listrik(I). 19 Gambar 2.5 Prinsip Gaya Lorentz (Sumber: http://hyperphysics.phy-astr.gsu.edu) Dengan berdasarkan pada prinsip gaya Lorentz, memberikan tegangan pada DC motor akan membuat motor berputar secara kontinyu ke arah tertentu. Membalik arah putaran motor dapat dilakukan dengan mengubah polaritas arus yang mengalir pada motor. Gambar 2.6 memperlihatkan arah perputaran motor DC berdasarkan polaritas arus yang mengalir. I I Gambar 2.6 Arah perputaran motor DC Motor DC biasanya mempunyai kecepatan putar yang cukup tinggi dan sangat cocok digunakan untuk roda robot yang membutuhkan kecepatan gerak yang tinggi. Pada penelitian ini motor DC digunakan sebagai penggerak utama robot. 2.4.2 Driver Motor DC L298 IC H-Bridge driver motor DC L298 memiliki dua buah rangkaian H-Bridge di dalamnya, sehingga dapat digunakan untuk men-drive dua buah motor DC. H-Bridge driver motor DC L298 masing-masing dapat mengantarkan arus hingga 2A. Namun, dalam penggunaannya, H-Bridge driver motor DC L298 dapat digunakan secara paralel, sehingga kemampuan menghantarkan dari H-Bridge driver motor DC L298 arusnya menjadi 4A. Konsekuensi dari pemasangan H-Bridge driver motor DC L298 dengan mode paralel maka, kamu perlu 2 buah H-Bridge driver motor DC L298 untuk mengendalikan 2 motor DC menggunakan H-Bridge driver motor DC L298 pada mode paralel. 20 Prinsip kerja IC L298, IC ini memiliki empat channel masukan yang didesain untuk dapat menerima masukan level logika TTL. Masing-masing channel masukan ini memiliki channel keluaran yang bersesuaian. Gambar 2.7 memperlihatkan penampang IC L298. Dengan memberi tegangan 5 volt pada pin enable A dan enable B, masing-masing channel output akan menghasilkan logika high (1) atau low (0) sesuai dengan input pada channel masukan. Untuk lebih jelasnya prinsip kerja IC L298 dapat dilihat pada tabel 2.9. Gambar 2.7 Penampang IC L298 Tabel 2.3 Logika Prinsip Kerja IC L298 Enable A,B Input 1,3 Output 1,3 Input 2,4 Output 2,4 0 0 0 0 1 1 1 1 0 X 0 X 1 X 1 X 1 0 2.5 Bluetooth External Bluetooth adalah teknologi jaringan yang bertujuan aplikasi jarak pendek bertenaga rendah. Dulu awalnya dikembangkan oleh Ericsson, namun diatur sebagai spesifikasi terbuka oleh Special Bluetooth Interest Group. Bluetooth adalah standar baru 21 diusulkan untuk jarak pendek, daya nirkabel rendah komunikasi (Pratibha singh, 2011). Bluetooth adalah untuk memungkinkan komunikasi antara semua mulus mereka, pada dasarnya menggantikan apa yang saat ini dicapai melalui kombinasi serial dan paralel kabel, dan link inframerah. Namun, Bluetooth memiliki potensi untuk menjadi lebih dari sebuah teknologi pengganti kawat, dan standar Bluetooth memang dirancang dengan seperti tujuan yang lebih ambisius dalam pikiran. Bluetooth memegang janji menjadi teknologi pilihan untuk jaringan adhoc masa depan. Hal ini sebagian karena konsumsi daya yang rendah dan potensi biaya rendah membuat solusi yang menarik untuk perangkat mobile yang biasa digunakan dalam jaringan adhoc. Ini dikatakan, ada banyak rintangan teknis utama untuk menyeberangi sebelum janji ini dapat direalisasikan. Makalah ini menjelaskan beberapa tantangan teknis utama bahwa teknologi Bluetooth menghadapi dan perlu untuk mengatasi, jika ingin memenuhi potensinya menjadi lebih dari solusi pengganti kawat (Aanchal Chanana, 2012) . Bluetooth didefinisikan sebagai sebuah arsitektur protokol ber-layar yang mengandung protokol inti, pengganti kabel dan protokol telepon serta protokol adaptasi (Rezky Ardiansyah, 2011). Pada bagian selanjutnya akan dibahas lebih lanjut mengenai masing-masing blok dari arsitektur protokol sebagaimana yang terlihat pada gambar. Gambar 2.8 bagian – bagian Bluetooth 22 Layer paling dasar dari arsitektur bluetooth adalah bluetooth Radio. Bluetooth beroperasi pada industrial Scientific and Medical (ISM) band antara 2,40 sampai dengan 2,48 GHz. Terdapat tiga kelas dari transmitter yang dibedakan dari output power dan jangkauan transmisi yang dimiliki. Bluetooth radio menggunakan modulasi Gaussian Frequenscy Shift Keying (GFSK) dalam melakukan transmisinya. Baseband layer adalah lapisan fisik dan berada diatas bluetooth radio. Baseband layer menangani masalah channel. Untuk menghindari terjadinya interferensi dari sinyal lain yang berada pada band 2,4 GHz seperti WLAN, bluetooth menggunakan prinsip frekuensi hopping. Setiap perangkat Bluetooth mempunyai alamat hardware yang khusus dan sebuah Bluetooth clock. Sebuah algoritma tertentu digunakan untuk menghitung frekuensi hopping yang digunakan berdasarkan pada hardware address dari perangkat yang menjadi masters dan clock. Untuk komunikasi duplex, skema time duplex (TTD) digunakan sebagai sarana pengiriman dan penerimaan data. Di mana pada skema ini perangkat master melakukan transmisi pada slot watu genap dan perangkat slave melakukan transmisi pada slot waktu ganjil. Link Manager berfungsi untuk menjalankan link setup , authentication, link configuration dan aspek lainnya dari hubungan radio antara master dan slave. Selain itu juga berfungsi untuk menemukan lonk manager lainnya dan melakukan komunikasi dengan menggunakan link manager protokol. Untuk memastikan hardware yang berbeda dapat saling mendukung, maka perangkat bluetooth menggunakan Host Controller Interface (HCI) sebagai tatap muka antara host bluetooth (contohnya komputer) dan baseband dan link manager. Logical Link Control and Adaption Protocol (L2CAP) adalah lapisan yang berbeda di atas baseband protokol dan melayani protokol yang di atasnya dengan kemampuan protokol multiplexing dan packet augmentation serta reassembly (SAR). Fungsi SAR diperlukan untuk mendukung protokol yang menggunakan paket data yang lebih besar daripada yang dapat didukung oleh baseband. Paket L2CAP yang besar dibagi kedalam beberapa paket baseband yang lebih kecil sebelum dipancarkan dan paket-paket tersebut akan disusun kembali setelah diterima menjadi paket L2CAP. Service Discovery Protocol pada dasarnya berfungsi untuk menyediakan perangkat (tools) yang dibutuhkan oleh sebuah aplikasi untuk memperoleh informasi dari sebuah perangkat bluetooth, layanan bluetooth apa saja yang tersedia dan untuk 23 menentukan karakteristik dari layanan yang tersedia. Port serial merupakan salah satu dari layanan komunikasi yang sering digunakan. RFCOMM adalah pengganti protokol kabel yang termasuk didalam spesifikasi Bluetooth. RFCOMM melakukan emulasi port serial RS-232 ke dalam protokol L2CAP dan menggantikan fungsi kabel serial. RFCOMM dapat menyediakan sampai dengan 60 port diantara dua perangkat bluetooth. Bluetooth profile digunakan untuk memberikan gambaran untuk implementasi dari sebuah fungsi yang dapat dilakukan. Bluetooth profile ditunjukan untuk mengurangi masalah yang mungkin timbul dari perbedaan produk yang diproduksi oleh perusahaan yang berbeda. Profile yang dimilki bluetooth sampai saat ini antara lain: basic imaging, basic printing, cordless telephony, dial-up networking, file transfer, handsfree, headset, serial port, dan scynghronization. Embedded Blue 500 adalah modul bluetooth yang digunakan untuk menghubungkan mikrokontroler dengan pc. Embedded blue 500 mempunyai 2 modus operasi yaitu commend mode dan data mode. Pada command mode, EB500 akan menerima perintah serial yang diberikan, yang berkaitan dengan proses pengaturan pada EB500 (perintah serial tersebut tidak dikirimkan), sedangkan pada data mode, RB500 akan berfungsi sebagai jalur komunikasi data serial antara device Bluetooth yang berbeda (meneruskan pengiriman maupun penerimaan data serial). Gambar 2.9 Embedded Blue 500