PENGEMBANGAN ROBOT JELAJAH BAWAH AIR (RJBA V. 2014) UNTUK EKSPLORASI BAWAH LAUT
NANDO ADE AMARYLLY PUTRA
DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN FAKULTAS PERIKANAN DAN ILMU KELAUTAN INSTITUT PERTANIAN BOGOR BOGOR 2014
PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA* Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Robot Jelajah Bawah Air (RJBA V. 2014) untuk Eksplorasi Bawah Laut adalah benar karya saya denganarahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Mei 2014 Nando Ade Amarylly Putra NIM C54090024
ABSTRAK NANDO ADE AMARYLLY PUTRA. Pengembangan Robot Jelajah Bawah Air (RJBA V.2014) untuk Eksplorasi Bawah Laut. Dibimbing oleh INDRA JAYA. Robot Jelajah Bawah Air (RJBA) merupakan wahana yang mampu melakukan pergerakan di bawah air yang dikendalikan dari permukaan dengan sistem kontrol. manfaat dari RJBA adalah untuk melakukan observasi maupun kerja di bawah air sesuai dengan fungsi dari pembuatan robot itu sendiri. Dalam skripsi ini telah dikembangkan RJBA V.2014 yang merupakan pengembangan dari RJBA sebelumnya yang dikembangkan oleh Departemen Ilmu dan Teknologi Kelautan, Institut Pertanian Bogor. Pengembangan yang dilakukan berupa perbaikan sistem catu daya, pengembangan olah gerak, system ballast, dan sistem gripper. Metodologi pembuatan RJBA terbagi menjadi empat bagian, yaitu bagian desain, programming, elektronik, dan mekanik/perangkat keras. Wahana bawah air generasi terbaru ini memiliki dimensi 65x35x40 cm, berat total ±19kg, menggunakan sistem ballast dengan volume ruang ballast 14,879 dm3, memiliki gripper dengan bukaan lebar capit maksimal berdiameter 8 cm, dan 5 thruster untuk pergerakan robot secara horizontal dan vertical, kabel/tether sepanjang 28 meter dengan kendali dipermukaan menggunakan Joystick. Kata kunci : RJBA, sistem ballast, gripper, thruster, joystick
ABSTRACT NANDO ADE AMARYLLY PUTRA. Development of Remotely Operated Vehicle (ROV V.2014) for Underwater Exploration. Supervised by INDRA JAYA. Remotely Operated Vehicle (ROV) is an underwater robotic vehicle that able to perform the underwater movement controlled from the surface via thetered cable and connected to the control system. The purpose of ROV is to observe and work underwater in accordance with the function of making of the robot itself. The ROV V. 2014 is improvement of the previous ROV developed by the Department of Marine Sciences and Technology, Bogor Agricultural University. The ROV V. 2014 has improved power supply system, thrust system, ballast system, and gripper systems. The making of a ROV is divide into four parts : design, programming, electronics, and mechanical/hardware. This new generation of underwater vehicle has dimensions of 65x35x40 cm, total weight ± 19kg, a system of ballasts with ballast tank 14.879 dm3 volume of space, a wide opening claw gripper with a maximum diameter of 8 cm, and 5 thrusters to move the robot horizontally and vertically, thetered cable of the 28 meter long to the surface and joystick to control the maneuver of the vehicle. Key word : ROV, ballast system, gripper, thruster, joystick
PENGEMBANGAN ROBOT JELAJAH BAWAH AIR (RJBA V. 2014) UNTUK EKSPLORASI BAWAH LAUT
NANDO ADE AMARYLLY PUTRA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Kelautan pada Departemen Ilmu dan Teknologi Kelautan
DEPARTEMEN ILMU DAN TEKNOLOGI KELAUTAN FAKULTAS PERIKANAN DAN ILMU KELAUTAN INSTITUT PERTANIAN BOGOR BOGOR 2014
Judul Skripsi : Pengembangan Robot Jelajah Bawah Air (RJBA V. 2014) untuk Eksplorasi Bawah Laut Nama : Nando Ade Amarylly Putra NIM : C54090024
Disetujui oleh
Prof. Dr. Indra Jaya Pembimbing I
Diketahui oleh
Dr. Ir. I Wayan Nurjaya. M,Sc. Ketua Departemen
Tanggal Lulus: 26 Mei 2014
PRAKATA Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Januari 2014 ini ialah Teknologi Kelautan, dengan judul Pengembangan Robot Jelajah Bawah Air (RJBA V. 2014) untuk Eksplorasi Bawah Laut. Terima kasih penulis ucapkan kepada Bapak Prof. Dr. Indra Jaya selaku pembimbing, Bapak Prof. Dr. Ir. Bonar. P. Pasaribu, M.Sc sebagai penguji skripsi, serta Bapak Dr. Ir. Jonson Lumban Gaol, M.Si, DESS selaku GKM yang telah banyak memberi saran. Ungkapan terima kasih juga disampaikan kepada ayah, ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya. Terimakasih juga kepada teman-teman seperjuangan ITK 46 yang saya banggakan, HIMITEKA, MIT-Club dan Creative Instrument yang banyak memberi manfaat di bidang ilmu dan teknologi kelautan, dan Nursasih atas saran dan semangatnya yang sangat membantu dalam penyelesaian tugas akhir. Semoga karya ilmiah ini bermanfaat dan dapat digunakan untuk kegiatankegiatan lainnya, khususnya dalam hal teknologi kelautan.
Bogor, Mei 2014 Nando Ade Amarylly Putra
DAFTAR ISI DAFTAR TABEL
viii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
viii
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
2
Manfaat Penelitian
2
METODE
2
Waktu dan Lokasi Penelitian
2
Alat dan Bahan
2
Rancang Bangun RJBA V. 2014
3
Rancang Bangun Desain
3
Rancang Bangun Program
4
Rancang Bangun Elektronik
5
Rancang Bangun Mekanik
5
HASIL DAN PEMBAHASAN
7
Bagian Desain RJBA V.2014
7
Bagian Mekanika RJBA V.2014
8
Sistem Elektronik RJBA V.2014
10
Program Utama Kendali RJBA V. 2014
12
Sistem Ballast RJBA V.2014
13
Olah Gerak RJBA V. 2014
14
Sistem Kerja Gripper RJBA V. 2014
16
Guide User Interface RJBA V. 2014
17
SIMPULAN DAN SARAN
19
Simpulan
19
Saran
19
DAFTAR PUSTAKA
19
LAMPIRAN
21
RIWAYAT HIDUP
34
DAFTAR TABEL 1 2 3 4
Daftar alat yang digunakan untuk penelitian Daftar bahan yang digunakan untuk penelitian Olah gerak RJBA berdasarkan tata letak dan arah perputaran thruster Hasil pengamatan daya cengkram Gripper terhadap beberapa objek benda
2 2 16 17
DAFTAR GAMBAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Model RJBA V.2014 Perangkat lunak CodeVision AVR Perangkat lunak Borland Delphi 7 Komponen Elektronik RJBA V. 2014 Diagram alir pembuatan RJBA V. 2014 Robot Jelajah Bawah Air V. 2014 Bentuk fisik robot jelajah bawah air Frame berbahan alumunium dan PVC 5 mm Box Kompartemen Gripper Sistem kerja tiap komponen elektronik pada RJBA V. 2014 Skematik rangkaian pengatur tegangan Alur kerja program yang diunduh pada Mikrokontroler ATMega8535 Tata letak penempatan bilge pump dan kran air sebagai bagian dari system ballast pada RJBA V. 2014 Ilustrasi penggunaan system ballast pada RJBA V. 2014 Tata letak kelima thruster pada RJBA V. 2014 Sistem kerja Gripper RJBA V. 2014 Contoh penggunaan Gripper terhadap kaleng cat spray (PILOX) Tampilan Guide User Interface RJBA V. 2014 Hasil gambar yang ditangkap oleh kamera CCD
4 4 5 5 6 7 8 8 9 9 10 11 12 13 14 15 16 17 18 18
DAFTAR LAMPIRAN 1 Desain Buoy, Frame, dan Gripper RJBA V.2014 2 Kode program kendali RJBA V.2014 menggunakan perangkat lunak CodeVision AVR 3 Kode program Guide User Interface menggunakan perangkat lunak Borland Delphi 7
21 23 27
PENDAHULUAN Latar Belakang Perkembangan ilmu pengetahuan dan teknologi (IPTEK) dunia kini semakin maju dengan pesat, khususnya di bidang teknologi dan rekayasa. Kebutuhan teknologi bagi umat manusia saat ini sangatlah tinggi guna membantu pekerjaan manusia. Indonesia sebagai Negara kepulauan yang terus berkembang, sudah sepatutnya terus mengikuti perkembangan teknologi dan ikut andil di dalamnya dalam pembuatan dan pengembangan teknologi khususnya di bidang kelautan. Salah satu bentuk dari pengembangan teknologi di bidang kelautan adalah terciptanya Remotely Operated Vehicle (ROV). Menurut Marine Technology Society ROV Committee’s dalam”Operational Guidelines for ROVs” (1984) dan The National Research Council Committee's dalam "Undersea Vehicles and National Needs" (1996), ROV merupakan robot bawah laut yang dikendalikan oleh pengguna atau operator ROV untuk tetap dalam keadaan yang aman pada saat ROV bekerja di lingkungan yang berbahaya (Suwardi 2008). ROV sekarang menjadi sebuah alat yang sangat penting di bidang kelautan untuk mengeksplorasi dan mengeksploitasi kondisi lingkungan bawah air dikarenakan ROV mampu melakukan pekerjaan yang bersifat tehnik di bawah air dengan baik (Fang et al. 2006). Menurut Woods et al (1998), ROV memiliki peran dalam hal observasi bawah air terutama peran yang signifikan dalam observasi di fasilitas produksi minyak sekaligus menggantikan tugas dari penyelam yang memiliki keterbatasan. Selain fungsi tersebut, RJBA juga dapat digunakan untuk pemetaan dan monitoring terumbu karang, pengamatan dan instalasi kabel bawah air, eksplorasi dan observasi laut dalam, dan berbagai tugas bawah air lainnya sesuai dengan kemampuan robot bawah air tersebut. Adanya keberadaan wahana bawah air tersebut tentunya akan memberi dampak yang sangat positif dalam hal megeksplorasi lautan sesuai dengan fungsi masing-masing dari wahana bawah air tersebut berdasarkan kelasnya. Menurut standart dari Norwegian Technology Centre dalam NORSOK standard U-102 (2003), RJBA terbagi menjadi lima kelas, yaitu : (1) Pure Observation, (2) Observation With Payload Option, (3) Work Class vehicles, (4) Seabed-Working Class, (5) Prototype or Development Vehicles. Semakin berkembangnya teknologi, ROV terus menerus dikembangkan kemampuannya untuk dapat melakukan berbagai hal dibawah air (Rigaud 2007). Kemampuan ROV dapat ditingkatkan dengan menambahkan beberapa instrument seperti manipulator/gripper, water sampler, dan Conductivity, Temperature and Depth (NOAA 2010). Pengembangan RJBA sendiri di Indonesia tidak terlalu maju dibandingkan dengan negara lain, kebanyakan wahana yang telah tersebar merupakan produk dari negara lain bukan melainkan dari ciptaan anak bangsa. Di Indonesia robot bawah air masih dalam tahap pengembangan oleh institusi yang bergerak di bidang teknologi khususnya teknologi kelautan, salah satunya adalah dari Institut Pertanian Bogor yang diwakili oleh Departemen Ilmu dan Teknologi Kelautan (ITK). Beberapa penelitian mengenai robot bawah air yang telah dilakukan oleh Dept. ITK masih belum mencapai kesempurnaan. Oleh karena itu, mengingat fungsinya yang banyak berguna dalam bidang kelautan, perlu dilakukan penelitian
2 lanjutan. Penelitian lanjutan ini merupakan bukti nyata komitmen Departemen ITK dalam hal penerapan teknologi guna mengeksplorasi lautan. Tujuan Penelitian Penelitian ini bertujuan untuk pengembangan robot jelajah bawah air dalam hal pengembangan olah gerak, perbaikan sistem catu daya, sistem ballast, dan sistem gripper sehingga dapat melakukan fungsinya dalam hal eksplorasi bawah laut. Manfaat Penelitian Pengembangan robot jelajah bawah air ini diharapkan dapat membantu dalam melakukan survey ataupun eksplorasi bawah laut.
METODE Waktu dan Lokasi Penelitian Penelitian ini dilaksanakan pada bulan Januari – Maret 2014 di Laboratorium Robotika bagian Akustik dan Instrumentasi Kelautan (AIK) dan Workshop AIK, Departemen ITK-IPB. Alat dan Bahan Untuk penelitian ini digunakan beberapa peralatan (Tabel 1) dan bahanbahan (Tabel 2). Tabel 1 Daftar alat yang digunakan untuk penelitian No 1 2 3 4 5 6 7 7 8 9
Alat Gerinda listrik Bor Listrik Tv Tuner K125 Downloader Software Borlan Delphi Software CodeVision AVR Software Google Sketch Up Solder Joy Stick Laptop
Jumlah 1 1 1 1 1 1 1 1 1 1
Keterangan Alat potong Alat membuat lubang Konverter CCD ke Laptop Compiler Tool Perangkat lunak GUI Perangkat lunak pemrograman C Perangkat lunak CAD Alat elektronik Input kendali bagi User Laptop
Tabel 2 Daftar bahan yang digunakan untuk penelitian No Bahan Jumlah satuan 1 Mikrokontroler ATMega 8535 1 unit 2 5 EMS 5A H-bridge 6 unit 3 2 EMS 2A H-Dualbridge 2 unit 4 Kabel pelangi 2 meter 5 Resin 3 liter
3 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Polyureten Timah Plat Alumunium 5 mm Bilgepump 1500 GPH Bilgepump 500 GPH Valve 1 arah Kran Air l Motor DC Gearbox Camera CCD Underwater lamp 20 Watt Epoxy Resin Lem Araldite CO PVC 8 inch DOP 4 inch CO 4 inch PVC 4 inch Plat PVC 5 mm Glen kabel Kabel tether Baut dan mur Propeller 2 bilah PVC sheet5 mm Accu 12V 100aH
1 set 1 100x100 6 1 1 1 2 2 2 1 set 5 1 4 4 1 30x30 1 20 Secukupnya 6 30x30 1
kaleng roll cm unit unit unit unit unit unit unit kaleng Unit Unit Unit Unit Unit Cm Unit Unit Unit Cm unit
Rancang Bangun RJBA V. 2014 Penelitian sebelumnya yang dilakukan oleh Kusuma (2012) memiliki beberapa saran, antara lain : penggunaan motor yang memiliki kekuatan lebih besar (1500-2000 GPH), baling-baling thruster yang sesuai, penggunaan sumber tegangan DC. Menindaklanjuti akan saran dari penelitian sebelumnya, pengembangan yang dilakukan untuk RJBA versi 2014 ini adalah pengembangan olah gerak robot dibawah air, perbaikan sistem catu daya yang dibutuhkan, sistem ballast dan adanya Gripper. Merancang robot jelajah bawah air secara garis besar terbagi menjadi 4 bagian, yaitu bagian desain, programming, elektonik, dan mekanik Rancang Bangun Desain Bagian desain merupakan tahapan awal dalam pembuatan RJBA. Pada bagian ini merupakan proses pengembangan dan pematangan konsep dari pembuatan RJBA. Secara garis besar, RJBA yang dibuat disesuaikan dengan tujuan RJBA itu sendiri. Dalam penelitian ini RJBA dikembangkan untuk dapat melakukan observasi bawah air. Guna mendukung hal itu, Robot bawah air ini dilengkapi dengan CCD kamera sebagai sensor untuk melakukan observasi. Selain itu, perlu dibuat desain RJBA yang dapat melakukan pergerakan yang
4 leluasa dibawah air sehingga kegiatan observasi mudah dilakukan. RJBA dilengkapi dengan 5 motor penggerak untuk bergerak vertical, horizontal, dan maneuver. RJBA juga dilengkapi dengan Gripper yang berguna untuk tujuan khusus seperti mengambil atau membawa objek dibawah air. Adanya Gripper pada robot bawah air kali ini merupakan salah satu pengembangan dari robot bawah air sebelumnya. Gambar 1 merupakan model desain secara 3 dimensi.
Gambar 1 Model RJBA V.2014 Rancang Bangun Program Bagian ini merupakan pembuatan perintah kerja berupa coding dengan menggunakan bahasa C yang ditanamkan kepada pusat pengolahan perintah pada RJBA yaitu Mikrokontroller. Perangkat lunak yang digunakan adalah CodeVision AVR (Gambar 2). Pada bagian ini juga dibuat Guide User Interface (GUI) yang berfungsi sebagai control pengendali dipermukaan oleh pengguna dengan menggunakan perangkat lunak Borlan Delphi (Gambar 3) dengan bahasa pemrograman Pascal.
Gambar 2 Perangkat lunak CodeVision AVR
5
Gambar 3 Perangkat Lunak Borland Delphi 7 Rancang Bangun Elektronik Kegiatan yang dilakukan pada bagian ini merupakan perakitan komponen/hardware dari RJBA. Bagian ini menghubungkan komponenkomponen elektronika seperti mikrokontroller, driver motor, kamera CCD, joystick, pengaturan sumber tenaga yang dibutuhkan, dan lain-lain. (3)
(4)
(5)
(1) (2)
(6) (11) (9) (10)
(7) (8)
Gambar 4 Komponen elektronik RJBA V. 2014 (1: Underwater lamp, 2: Accu 12V 100Ah, 3: Mikrokontroler ATMega 8535, 4: DB9, 5: EMS 5 H-Bridge, 6: EMS 2 A Dual H-Bridge, 7: Kabel pelangi, 8: Toggle switch, 9: Dioda, 10 : IC 79xx, 11: Resistor) Rancang Bangun Mekanika Bagian mekanika berkaitan dalam membangun fisik dari RJBA itu sendiri. Pembuatan frame, ruang/tangki ballast, box kompartemen, water proofing, Gripper, penempatan motor penggerak/thruster, dan hal-hal yang berhubungan
6 dengan bangunan fisik dari sebuah RJBA. Frame yang dibuat menggunakan bahan dari plat alumunium dengan tebal 5 mm. Gripper dibuat menggunakan bahan lembaran PVC dengan tebal 5 mm. Ruang/tangki ballast dibuat menggunakan bahan resin dan bahan polyureten. Diagram alir penelitian tertera pada Gambar 5.
Mulai
Perencanaan dan Pematangan Konsep
Pembuatan desain Remotely Operated Vehicle
Pembuatan ROV
Pembuatan Program
Pembuatan Elektronik
Tidak
Pembuatan Mekanik
Sesuai?
Ya
Selesai
Gambar 5 Diagram alir pembuatan RJBA V.2014
7
HASIL DAN PEMBAHASAN Hasil penelitian ini berupa Robot Jelajah Bawah Air V. 2014 dengan dimensi 65x35x40 cm, berat total ± 19 kg, menggunakan sistem ballast dengan volume ruang ballast 14,879 dm3, memiliki gripper, dan 5 thruster untuk pergerakan robot, kabel/tether sepanjang 28 meter dengan kendali dipermukaan menggunakan Joystick. RJBA V. 2014 dapat diklasifikasikan ke dalam kelas Pure Observation dan kelas Prototype or Development Vehicles atau wahana yang dalam pengembangan (Norsok Standard, 2003). Gambar 6 merupakan tampilan secara keseluruhan RJBA V. 2014.
Gambar 6 Robot Jelajah Bawah Air V. 2014 Bagian Desain RJBA V. 2014 Robot jelajah bawah air yang dikembangkan kali ini memiliki desain yang berbeda dari dua generasi sebelumnya. RJBA V. 2014 berbentuk persegi panjang dengan tujuan untuk memudahkan titik berat robot dan tata letak komponen dengan tepat agar memiliki keseimbangan yang baik ketika beroperasi di dalam air. Selain itu RJBA V. 2014 memiliki pelampung/buoy pada bagian atas robot yang di desain khusus untuk memberi daya apung dan membantu agar robot memiliki keseimbangan yang baik. Selain fungsinya untuk memberi daya apung, buoy juga didesain untuk tempat peletakan komponen elektronika dan sebagai ruang/tangki ballast untuk memanipulasi daya apung robot. Hal ini tidak dimiliki oleh dua generasi robot jelajah bawah air generasi sebelumnya. Pembuatan desain seperti ini dilakukan karena pada generasi sebelumnya yaitu RJ45 memiliki permasalahan keseimbangan dengan berat di bagian belakang robot ketika beroperasi di dalam air dan menggunakan pelampung eksternal yang mengurangi nilai estetika dari RJ45 itu sendiri (Rizki, 2008). Gambar 7 menunjukkan bentuk fisik dari robot jelajah bawah air V. 2014 dan dua generasi sebelumnya.
8
(1)
(2)
(3) (4) Gambar 7 Bentuk fisik robot jelajah bawah air ( 1 : RJ45 (tanpa pelampung), 2 : RJ45 (dilengkapi pelampung), 3 : RJ45 V2, 4: RJBA V.2014) Bagian Mekanika RJBA V.2014 Bagian mekanika merupakan pembahasan mengenai bagian fisik dari RJBA yang telah dibuat. Pembuatan bagian mekanika pada RJBA V.2014 dapat dibagi menjadi : frame/rangka, box kompartemen, ruang/tangki ballast, dan Gripper. Gambar rancangan mekanik RJBA V. 2014 secara detail tersaji pada Lampiran 1.
Gambar 8 Frame berbahan alumunium dan PVC 5 mm
9 Gambar 8 merupakan bagian frame atau rangka dari RJBA yang dibuat. Frame RJBA dibuat dengan menggunakan bahan alumunium dan PVC berupa lembaran dengan tebal masing-masing bahan 5 mm. Bahan alumunium digunakan pada bagian kerangka luar, sedangkan bahan PVC hanya digunakan untuk tempat pemasangan thruster. Pemilihan kedua bahan tersebut terutama bahan alumunium dikarenakan memiliki daya tahan yang kuat dan tidak mengalami korosi. PVC 5 mm juga digunakan sebagai bahan untuk pembuatan Gripper.
Gambar 9 Box kompartemen Bagian tempat kompartemen (Gambar 9) terbuat dari bahan CO PVC 8 inchi yang dilengkapi dengan seal berupa O-ring yang berfungsi untuk mencegah masuknya air kedalam tempat kompartemen. Pada bagian tangki/ruang ballast, digunakan bahan resin dengan mencapai ketebalan ± 3mm. Pemilihan bahan ini dikarenakan bahan dapat dibentuk dengan mudah melaui proses molding/pencetakan. Selain itu, bahan resin akan memiliki struktur yang kuat bila dipadukan dengan mate/serat fiber. Gripper (Gambar 10) terbuat dari bahan PVC sheet dengan tebal 5 mm. Gripper dibuat menyerupai alat pencapit/tang yang bertujuan untuk dapat menjepit/mencengkram objek. Bagian pencapit ditambahkan bahan karet yang berfungsi untuk menambah daya cengkram terhadap objek yang memiliki permukaan licin.
Gambar 10 Gripper
10 Sistem Elektronik RJBA V.2014 Sistem elektronika pada RJBA merupakan rangkaian dari komponenkomponen elektronika yang saling terhubung sesuai dengan fungsi dan tujuannya masing-masing. Gambar 11 merupakan alur sistem kerja tiap komponen elektronik sesuai dengan fungsi dari tiap komponen-komponen tersebut untuk menjalankan robot jelajah bawah air.
Underwater Lamp
Gambar 11 Sistem kerja tiap komponen elektronik pada RJBA V. 2014 Menurut Fouquet et al. (2002), salah satu komponen utama dari sistem elektronika adalah power source atau sumber tenaga yang digunakan. Sumber tenaga yang digunakan untuk menjalankan robot adalah catu daya 12 V 100 Ah. Hal ini dikarenakan karena robot membutuhkan daya yang besar terutama untuk kelima thruster dimana tiap thruster membutuhkan masukan sebesar 12V 5A. Menurut Sulaiman dan Saharuddin (2012), peningkatan catu daya yang digunakan akan meningkatkan kapasitas arus listrik sehingga akan membuat peningkatan untuk sistem kerja thruster. Peningkatan catu daya juga akan dapat mengatasi penggunaan tether/kabel yang panjang. Kabel sebagai penyalur tenaga memiliki resistansi yang dapat menghambat arus listrik yang dibutuhkan robot untuk beroperasi sehingga dibutuhkan sumber tenaga dengan daya yang lebih besar (Wilkins 1998).
11 Masing-masing komponen elektronika membutuhkan tegangan dan kuat arus yang berbeda-beda. Untuk mengatasi permasalahan tersebut dibuat rangkaian pengatur tegangan (Gambar 12) dimana dapat mengubah atau mengkonversi tegangan dari aki menjadi 12V, 9V, dan 5V. Selain itu rangkaian pengatur tegangan dilengkapi dengan dioda agar arus yang keluar stabil dan searah sehingga diharapkan tiap komponen terpenuhi kebutuhan dayanya.
Gambar 12 Rangkaian skematik pengatur tegangan Mikrokontroller ATMega8535 yang digunakan berfungsi sebagai pusat pengolahan sistem kendali yang memiliki empat PORT dimana tiap PORT terdiri dari 8 pin yang dapat berfungsi sebagai I/O dan Analog Digital Converter pada PORT A. PORT yang digunakan sebagai I/O untuk mengendalikan driver motor adalah PORT B dan PORT C. Driver motor yang digunakan untuk menggerakkan thruster adalah EMS 5 A H-Bridge dan driver motor yang digunakkan untuk menggerakkan motor DC pada sistem ballast dan Gripper adalah EMS 2 A Dual H-Bridge. Komunikasi antara laptop/PC dan mikrokontroler menggunakan USBto Serial. USBtoSerial berfungsi sebagai pengkonversi komunikasi serial yang dimiliki mikrokontroler menjadi USB agar komunikasi dapat terbaca oleh laptop/PC dan sebaliknya. Proses komunikasi serial terjadi melalui kabel/tether yang menghubungkan robot dengan laptop/PC. Tether yang digunakan haruslah bersifat tahan lama dan memiliki kualitas yang baik agar mengurangi gangguan proses komunikasi serial (Newman dan Robison 1992). Sistem kendali robot jelajah bawah air tentunya memerlukan input dari sebuah perangkat keras yang dikontrol oleh user. Perangkat keras tersebut dapat berupa keyboard, mouse, gamepad, dan joystick. Pada RJBA V. 2014, perangkat keras yang digunakan adalah Joystick Attack 3 keluaran Logitech. Untuk memperoleh tampilan visual dari robot digunakan CCD kamera yang terhubung dengan TV tuner agar CCD kamera dapat dibaca oleh laptop/PC. Menurut Olejnik (2008), tampilan observasi secara langsung dari ROV akan membantu untuk mengidentifikasi objek di bawah laut. Untuk membantu pencahayaan, robot jelajah bawah air dilengkapi dengan sistem penerangan mengunakan dua buah lampu bawah air 10 Watt.
12 Program Utama Kendali RJBA V.2014 Robot Jelajah Bawah Air menggunakan mikrokontroller ATMega8535 sebagai pusat pengolahan sistem kendali terhadap robot. Bahasa yang digunakan merupakan bahasa pemrograman tingkat tinggi yaitu bahasa C dengan menggunakan perangkat lunak compiler berupa CodeVision AVR. Alur kerja dari pemrograman yang ditanamkan dalam mikrokontroler tertera pada Gambar 13.
Gambar 13 Alur kerja program yang diunduh pada Mikrokontroler ATMega8535 Program yang ditanamkan pada mikrokontroler ATMega8535 merupakan program untuk mengendalikan thruster, sistem ballast, dan Gripper. Program kendali tersebut diatur untuk menerima input berupa karakter dengan tipe data “char” yang dikirimkan melalui komunikasi serial dengan laptop/PC. Setelah mikrokontroler menerima input berupa karakter yang dikirimkan oleh user melalui laptop/PC, program akan menjalankan perintah sesuai dengan karakter yang diterima. Kemudian program akan mengulang kembali pada tahap menunggu karakter yang dikirimkan berikutnya oleh user. Fungsi dari “Enable Interrupts” adalah untuk mengijinkan adanya selaan atau interupsi oleh user untuk mengirimkan karakter yang baru saat mikrokontroler sedang menjalankan
13 program hasil dari karakter yang dikirimkan sebelumnya. Kode program mikrokontroler ATMega8535 untuk kendali robot menggunakan perangkat lunak CodeVisionAVR ditampilkan pada Lampiran 2. Sistem Ballast RJBA V.2014 RJBA generasi terbaru kali ini dilengkapi dengan sistem ballast seperti halnya sistem yang terdapat pada kapal selam. Sistem ballast merupakan sebuah sistem untuk memanipulasi daya apung suatu benda. Daya apung terbagi menjadi 3 macam, yaitu : 1) Daya apung positif : bila suatu benda mengapung, 2) Daya apung negatif : bila suatu benda tenggelam, 3) Daya apung netral : bila benda dapat melayang. Untuk dapat bergerak secara horizontal dan tidak terpengaruh dengan daya apung positif (ke atas) dan negatif (ke bawah), tentunya RJBA haruslah memiliki daya apung netral. Oleh karena itu, diperlukan sistem ballast untuk memanipulasi daya apung pada RJBA yang sekaligus membantu dalam pergerakan secara vertikal. Sistem ballast pada RJBA menggunakan ruang berbahan fiber dengan volume 14,879 dm3. Sistem ballast ini menggunakan prinsip memasukkan air ke dalam ruang ballast sekaligus mengeluarkan udara yang ada pada ruang ballast untuk mengurangi daya apung. Untuk mengembalikan daya apung, air dikeluarkan kembali dari ruang ballast ke lingkungan dengan menggunakan bilge pump. Kran air yang dapat dikontrol dari permukaan merupakan cara untuk memasukkan air kedalam ruang ballast dan bilge pump yang disambungkan dengan valve 1 arah merupakan sistem untuk mengeluarkan air dari dalam ruang ballast dan memampatkan udara didalam ruang ballast. Gambar 14 merupakan tata letak penempatan sistem ballast pada RJBA.
Gambar 14 Tata letak penempatan bilge pump dan kran air sebagai bagian dari sistem ballast pada RJBA V. 2014
14
Gambar 15 menjelaskan bahwa penggunaan sistem ballast berdampak pada daya apung yang dimiliki oleh RJBA. Pada tahap 1, ruang ballast masih dipenuhi dengan udara sehingga daya apung yang terjadi adalah daya apung positif. Untuk mengurangi daya apung agar robot dapat melayang maupun tenggelam, kran air pada sistem ballast dibuka agar air masuk kedalam ruang ballast (tahap 2). Untuk memperoleh keadaan melayang/daya apung netral pada tahap 3 dan 4, kran air dibuka hingga keadaan robot mulai tampak melayang dan kemudian kran ditutup dan dapat diatur apabila air yang masuk ke dalam ruang ballast berlebih maka air dapat dikeluarkan menggunakan bilge pump sehingga robot memiliki daya apungnya kembali untuk mencapai posisi melayang. Pada tahap 5, yang terjadi adalah ruang ballast sepenuhnya diisi dengan air dari lingkungan sehingga robot memiliki daya apung negatif dan robot akan menyelam. Untuk naik lagi ke permukaan (tahap 6), air dalam ruang ballast dibuang ke lingkungan menggunakan bilge pump sehingga robot memiliki daya apung positif.
Gambar 15 Ilustrasi penggunaan sistem ballast pada RJBA V. 2014 Pada saat uji coba kolam di laboratorium Watertank AIK didapati bahwa sistem ballast yang telah dibuat tidak berjalan dengan maksimal. Hal ini disebabkan karena kurangnya ketelitian dalam perhitungan posisi penempatan kran air yang terlatak pada sisi kanan depan RJBA sehingga menyebabkan air yang masuk kedalam ruang ballast tidak tersebar secara merata melainkan menumpuk pada satu sisi. Kondisi seperti ini menyebabkan pada saat pintu kran air dibuka dan RJBA mulai kehilangan daya apung posisi robot cenderung tenggelam pada sisi depan terlebih dahulu yang sehingga robot tidak seimbang pada saat melakukan penyelaman. Olah Gerak RJBA V. 2014 Robot Jelajah Bawah Air atau lebih dikenal dengan Remotely Operated Vehicle merupakan robot yang mampu melakukan sebuah tugas dibawah air
15 dengan control dari permukaan. Tentunya dalam melakukan tugasnya, robot ini harus mampu melakukan olah gerak yang baik. Menurut Asmara (2010), RJBA yang baik mampu melakukan olah gerak 6 derajat kebebasan, seperti : a) Heaving yaitu gerakan naik atau turun, b) Swaving yaitu gerakan melintang/menggeser ke arah samping kiri dan kanan, c) Surging yaitu gerakan membujur arah maju atau mundur, d) Yawing yaitu gerakan menggeleng ke kiri dan ke kanan, e) Pitching yaitu gerakan mengangguk ke atas dan ke bawah, f) Rolling yaitu gerakan memutar ke kiri dan ke kanan. Untuk dapat melakukan olah gerak seperti itu, RJBA V.2014 dilengkapi dengan 3 thruster untuk bermanuver secara horizontal dan 2 thruster untuk melakukan maneuver secara vertikal.. Menurut Kusuma (2012), thruster yang digunakan pada RJ45 V2 menggunakan bilge pump 700 GPH dan penggunaan propeller yang kurang tepat sehingga tidak mampu memberi gaya dorong yang baik pada robot. Untuk mengatasi hal tersebut, pada RJBA V. 2014 dilakukan peningkatan gaya dorong yang dihasilkan oleh thruster. Thruster ditingkatkan dengan menggunakan bilge pump 1500 Galon per Hour (GPH) dan propeller dua daun berbahan alumunium. Propeller atau baling-baling akan membuat aliran fluida mendorong RJBA. Arah putaran baling-baling juga akan mempengaruhi aliran fluida. Baling-baling didesain untuk bergerak dan mengarahkan fluida berlawanan dengan arah gerak (Christ dan Wernli, 2007). Menurut Ismail (2010), semakin sedikit jumlah daun propeller, maka efisiensi propeller semakin tinggi. Namun, dengan sedikitnya jumlah daun propeller, masing-masing daun propeller akan menanggung beban lebih besar. Untuk mengatasinya digunakan propeller berbahan alumunium karena memiliki daya tahan yang kuat dibandingkan dengan bahan plastik. Gambar 16 merupakan tata letak penempatan kelima thruster RJBA V.2014 :
Gambar 16 Tata letak kelima thruster pada RJBA V. 2014 Berdasarkan hasil ujicoba kolam, tata letak thruster dapat menghasilkan gerakan Heaving, Swaving, Surging, Pitching, dan Rolling. Tabel 3 merupakan olah gerak robot berdasarkan hasil ujicoba kolam.
16 Tabel 3 Olah gerak RJBA berdasarkan tata letak dan arah perputaran thruster T1 CW CCW CCW
T2 CCW CW CW CCW -
T3 CCW CW CCW CW CCW
T4 -
T5 -
Kondisi Bergeser ke kiri Bergeser ke kanan Bergerak maju Bergerak Mundur Memutar ke kanan Memutar ke kiri Maju ke arah kanan
CW
CCW
-
-
-
Maju ke arah kiri
CCW
-
CW
-
-
Mundur ke arah kiri
CW
CW
-
-
-
Mundur ke arah kanan
-
-
-
CW CCW CW CCW
CW CCW CCW CW
Bergerak naik Bergerak turun Mengangguk ke atas Mengangguk ke bawah
Keterangan Swaving Swaving Surging Surging Rolling Rolling Surging dan Swaving Surging dan Swaving Surging dan Swaving Surging dan Swaving Heaving Heaving Pitching Pitching
Keterangan : T : Thruster, CW : Clockwise, CCW : Counter Clockwise Sistem Kerja Gripper RJBA V.2014 Pada pengembangan robot jelajah bawah air kali ini dilengkapi dengan sistem Gripper atau berupa tangan pencapit. Menurut Haugen (2012), Robot bawah air biasanya dilengkapi dengan satu atau beberapa gripper sehingga dapat melakukan tugas-tugas sederhana seperti menarik kabel, membuka katup, dan menangani alat-alat berbeda. Gripper terbuat dari bahan lemabaran PVC dengan tebal 5 mm. Gerakan untuk membuka dan menutup menggunakan motor DC sebagai penggeraknya. Gripper pada robot ini memiliki lebar bukaan maksimal sebesar 8 cm. Gambar 17 merupakan sistem kerja dari gripper.
Gambar 17 Sistem kerja gripper RJBA V. 2014
17 Sistem kerja gripper berawal dari input yang diberikan oleh pengguna dengan kendali menggunakan joystick yang terhubung dengan Guide User Interface (GUI) di laptop. Input yang diberikan akan diteruskan kepada mikrokontroler melalui komunikasi serial. Mikrokontroler akan mengolah dan menjalankan perintah sesuai dengan informasi yang dikirimkan. Perintah yang dijalankan berupa memberi sinyal digital High atau Low kepada EMS 2 A Dual H-Bridge yang berfungsi sebagai driver motor DC. Kemudian driver motor memberi tegangan (+) atau (-) untuk menggerakkan motor DC secara clock wise (CW) atau counter clock wise (CCW). Secara mekanik, putaran motor DC digunakan untuk penggerak capit untuk gerakan membuka (CW) dan menutup (CCW). Tabel 4 dan Gambar 18 merupakan hasil uji coba daya cengkram gripper terhadap objek benda : Tabel 4 Hasil pengamatan daya cengkram gripper terhadap beberapa objek benda No Contoh objek benda yang digunakan Keterangan Daya Cengkram 1 Cat Spray Baik 2 Obeng Baik 3 Kaca/Akrilik Baik 4 Rubber/karang mati Baik
Gambar 18 Contoh penggunaan gripper terhadap kaleng cat spray Guide User Interface RJBA V.2014 Guide User Interface (GUI) merupakan perangkat lunak antar muka yang digunakan pengguna untuk memantau dan mengendalikan sistem robot melalui Laptop/PC. Pada robot jelajah bawah air V. 2014, GUI dibuat menggunakan perangkat lunak Borland Delphi 7. Perangkat lunak Borland Delphi 7 menggunakan bahasa pemrograman tingkat tinggi yaitu bahasa pemrograman Pascal. Gambar 19 merupakan tampilan GUI yang telah dibuat dan digunakan pada RJBA V. 2014.
18
Gambar 19 Tampilan Guide User Interface RJBA V. 2014 Penggunaan GUI untuk mengendalikan RJBA dimulai dengan mengatur serial komunikasi dengan cara menekan tombol Setting pada group box Serial Communication, kemudian akan muncul jendela baru untuk mengatur PORT/COM, baudrate. Setelah itu tekan tombol Connect untuk menghubungkan komunikasi antara PC/Laptop dan RJBA. Group Joystick Control digunakan untuk mengaktifkan joystick sebagai media masukkan untuk mengatur robot sekaligus mengetahui kondisi axis X, Y, dan Z dari joystick dan mengetahui kondisi robot sesuai masukkan dari joystick. Tombol Enable digunakan untuk mengaktifkan joystick dan Disable untuk menonaktifkan joystick. Tombol Start Video digunakan untuk mengaktifkan kamera robot untuk mendapatkan gambar secara live dari robot. Untuk mendapatkan gambar digunakan tombol Capture yang akan secara otomatis disimpan pada direktori folder yang ditentukan terlebih dahulu pada baris program GUI. Kode program GUI menggunakan perangkat lunak Borland Delphi 7 disajikan pada Lampiran 3. Gambar 20 merupakan contoh gambar yang diambil oleh robot :
Gambar 20 Hasil gambar yang ditangkap oleh kamera CCD
19
SIMPULAN DAN SARAN Simpulan Pengembangan yang dilakukan terhadap RJBA V. 2014 meliputi pengembangan sistem catu daya, olah gerak robot, menggunakan sistem ballast, dan memiliki gripper yang telah berhasil dilakukan. Sistem catu daya dikembangkan dengan menambah daya yang lebih besar dan membuat sistem pembagi tegangan sehingga tiap komponen robot mendapatkan daya yang dibutuhkan secara maksimal. RJBA V. 2014 menggunakan thruster yang lebih baik dan mampu melakukan olah gerak Heaving, Swaving, Surging, Pitching, dan Rolling yang lebih baik dibanding dari sebelumnya. Namun sistem ballast yang dibuat untuk membantu pergerakan robot secara vertikal belum dapat berjalan dengan baik. Saran Saran untuk pengembangan robot jelajah bawah air selanjutnya adalah penyempurnaan sistem ballast yang digunakan dan penambahan sensor navigasi seperti sensor tekanan, kedalaman, dan sensor lainnya sesuai dengan tujuan awal pembuatan robot
DAFTAR PUSTAKA Asmara SW. 2010. Studi Perancangan ROV (Remotely Operated Vehicle) untuk Meningkatkan Kemampuan Maneuvering di Bawah Laut dengan Pendekatan CFD [Skripsi]. Surabaya. Institut Teknologi Sepuluh November. Chandra Y. 2011. Rancang Bangun Sistem Ballast pada ROV (Remotely Underwater Vehicle) [Skripsi]. Surabaya. PENS-ITS. Christ RD, Robert LW Sr. 2007. The ROV Manual : A User ide for ObservationClass Remotely Operated Vehicle. Elsevier Ltd. Oxford. Fang MC, Hou CS, Luo JH. 2006. On the motions of the underwater remotely operated vehicle with the umbilical cable effect. Ocean Engineering. 34:1275-1289. Fouquet Y, Savoye B, Drogou JF, Michel JL. 2002. Evaluation of The 1st Year of Scientific Use of The French ROV VICTOR 6000. Underwater Technology. 11-16. Haugen M, 2012. Modeling and Control of ROV Manipulator [Thesis]. Trondheim. Norwegian University of Science and Technology. Ismail SH. 2010. Perancangan Program Pemilihan Propeller Jenis Wageningen B Series Berbasis Efisiensi [Skripsi]. Surabaya. Institut Teknologi Sepuluh November. Kusuma HA. 2012. Rancang Bangun Remotely Operated Vehicle (ROV) untuk Eksplorasi Bawah Air [Skripsi]. Bogor. Institut Pertanian Bogor. Newman J, Robison B. 1992. Development of a dedicated ROV for ocean science. MTS Journal. 26(4):46-53
20 NOAA. 2010. Remotely Operated Vehicle (ROV) [Internet].[diunduh 2013 Nov 25]. Tersedia pada : http://oceanexplorer.noaa.gov/technology/subs/rov Norwegian Technology Centre. 2003. Remotely operated vehicle (ROV) services. In : NORSOK standard U-102. Oslo, Norway. Olejnik A. 2008. Visual identification of underwater objects using a ROV-type vehicle: “Graf Zeppelin” wreck investigation. Polish Maritime Research. 15(55):72-79. Rigaud V . 2007. Innovation and Operation with Robotized Underwater Systems. Journal of Field robotics. 24(6):449-461. Rizki I. 2008. Pengembangan Prototipe Remotely Operated Vehicle (ROV) : Aspek Mekanis [Skripsi]. Bogor. Institut Pertanian Bogor. Sulaiman O, Saharuddin AH. 2012. Power Integrity Requirement of New Generation of ROV for Deep Sea Operation. Global Journal. 12(3): 09755861. Suwardi St. 2008. Mengungkap Misteri Laut dalam bersama ROV. KabarIndonesia. IPTEK. Woods AJ, Penrose JD, Duncan AJ, Koch R, Clarck D. 1998. Improving The Operability Of Remotely Operated Vehicles. The APPEA Journal. 37: 849-854.
LAMPIRAN 1 Desain Buoy, Frame, dan Gripper RJBA V.2014
22
2 Kode program kendali RJBA V.2014 menggunakan perangkat lunak CodeVision AVR #include <mega8535.h> #include <stdio.h> #include <delay.h> #include
#ifndef RXB8 #define RXB8 1 #endif #ifndef TXB8 #define TXB8 0 #endif #ifndef UPE #define UPE 2 #endif #ifndef DOR #define DOR 3 #endif #ifndef FE #define FE 4 #endif #ifndef UDRE #define UDRE 5 #endif #ifndef RXC #define RXC 7 #endif #define FRAMING_ERROR (1<
24 { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR DATA_OVERRUN))==0) { rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256 // special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; } #endif } } #ifndef _DEBUG_TERMINAL_IO_ // Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE != 256 if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used#endif // USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE <= 256 unsigned char tx_wr_index,tx_rd_index,tx_counter; #else
|
25 unsigned int tx_wr_index,tx_rd_index,tx_counter; #endif // USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) { --tx_counter; UDR=tx_buffer[tx_rd_index++]; #if TX_BUFFER_SIZE != 256 if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif } } #ifndef _DEBUG_TERMINAL_IO_ // Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_ #pragma used+ void putchar(char c) { while (tx_counter == TX_BUFFER_SIZE); #asm("cli") if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) { tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE != 256 if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif ++tx_counter; } else UDR=c; #asm("sei") } #pragma used#endif // Standard Input/Output functions #include <stdio.h> unsigned char A; void main(void) { // Declare your local variables here // Input/Output Ports initialization
26 PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0xFF; PORTC=0x00; DDRC=0xFF; PORTD=0x00; DDRD=0xFF; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0xD8; UCSRC=0x86; UBRRH=0x00; UBRRL=0x19; #asm("sei") while (1) { A=getchar(); if (A=='X') {PORTB=0x00; } //stop //maju, mundur, kanan, kiri if (A=='W') {PORTB=0x50; } //mundur if (A=='S') {PORTB=0xA0; } //maju
if (A=='D') {PORTB=0x04; } //kiri if (A=='A') {PORTB=0x08; } //kanan if (A=='C') {PORTB=0x44; } //mundur kiri if (A=='Z') {PORTB=0x18; } //mundur kanan if (A=='N') {PORTB=0x88; } //maju kanan if (A=='M') {PORTB=0x24; } //maju kiri // naik turun if (A=='G') {PORTC=0x00; PORTD.4=0; PORTD.5=0;} if (A=='U') {PORTC=0x0A; } //turun if (A=='J') {PORTC=0x05; } //naik
27 //gripper if (A=='O') {PORTD.4=0; PORTD.5=1;} //buka capit if (A=='P') {PORTD.4=1; PORTD.5=0;} //tutup capit // Ballast System if (A=='R') { //open PORTC=0x10; delay_ms(200); PORTC=0x00;} if (A=='T') { //close PORTC=0x20; delay_ms(200); PORTC=0x00;} if (A=='F') { //pump 01000000 PORTC=0x40; delay_ms(500); PORTC=0x00;} } };
3 Kode program Guide User Interface menggunakan perangkat lunak Borland Delphi 7 unit RJBA; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DSPack, ExtCtrls, StdCtrls, DirectShow9, DsUtil, ExtDlgs, CPort, NLDJoystick, _GClass, AbCompas; type TForm1 = class(TForm) SampleGrabber1: TSampleGrabber; Filter1: TFilter; FilterGraph1: TFilterGraph; pnl1: TPanel; VideoWindow1: TVideoWindow; btnMulai: TButton; btnFoto: TButton; Combobox1: TComboBox; Image1: TImage; lbl1: TLabel; grp2: TGroupBox; btn3: TButton; btn4: TButton; grp1: TGroupBox; lbl5: TLabel; lbl2: TLabel; lbl3: TLabel; lbl4: TLabel;
28 btn1: TButton; btn2: TButton; joystick1: TNLDJoystick; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; cmprt1: TComPort; lbl8: TLabel; lbl7: TLabel; lbl10: TLabel; lbl11: TLabel; lbl12: TLabel; lbl13: TLabel; lbl14: TLabel; lbl9: TLabel; lbl6: TLabel; procedure btnMulaiClick(Sender: TObject); procedure btnFotoClick(Sender: TObject); procedure Combobox1Change(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn4Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure joystick1ButtonDown(Sender: TNLDJoystick; const Buttons: TJoyButtons); procedure joystick1Move(Sender: TNLDJoystick; const JoyPos: TJoyRelPos; const Buttons: TJoyButtons); private { Private declarations } public { Public declarations } end; var Form1: TForm1; CapEnum: TSySDevEnum; implementation {$R *.dfm} procedure TForm1.btnMulaiClick(Sender: TObject); var i:Integer; begin CapEnum:=TSySDevEnum.Create(CLSID_VideoInputDeviceCategory); for i:=0 to CapEnum.CountFilters-1 do begin
29 Combobox1.Items.Add(CapEnum.Filters[1].FriendlyName); end; end; procedure TForm1.btnFotoClick(Sender: TObject); begin SampleGrabber1.GetBitmap(Image1.Picture.Bitmap); Image1.Picture.SaveToFile('D:\Penelitian'+FormatDateTime('HHmmss',now)+'.b mp'); //Application.MessageBox('Gambar Sudah Disimpan ke My Pictures!!','Informasi',MB_OK); Image1.Picture:=nil; end; procedure TForm1.Combobox1Change(Sender: TObject); begin FilterGraph1.ClearGraph; FilterGraph1.Active:=False; Filter1.BaseFilter.Moniker:= capenum.GetMoniker(Combobox1.ItemIndex); FilterGraph1.Active:=True; with FilterGraph1 as ICaptureGraphBuilder2 do RenderStream(@PIN_CATEGORY_PREVIEW,nil,Filter1 as IBaseFilter, SampleGrabber1 as IBaseFilter, VideoWindow1 as IBaseFilter); FilterGraph1.Play; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin capenum.Free; FilterGraph1.ClearGraph; FilterGraph1.Active:=False; end; procedure TForm1.btn4Click(Sender: TObject); begin cmprt1.ShowSetupDialog; end; procedure TForm1.btn3Click(Sender: TObject); begin if cmprt1.Connected then begin cmprt1.Connected:=False; btn3.Caption:='Connect'; end else begin
30 cmprt1.Connected:=True; btn3.Caption:='Disconnect'; end; end; procedure TForm1.btn1Click(Sender: TObject); begin joystick1.Active:=True; end; procedure TForm1.btn2Click(Sender: TObject); begin //joystick.DisableJoyStick; Joystick1.Active:=False; end;
procedure TForm1.joystick1ButtonDown(Sender: TNLDJoystick; const Buttons: TJoyButtons); begin if JoyBtn1 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('G'); lbl7.Caption:='Stop'; lbl9.Caption:='Stop'; end; end; if JoyBtn2 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('U'); lbl7.Caption:='Dive'; end; end ; if JoyBtn3 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('J'); lbl7.Caption:='Up'; end; end ; if JoyBtn4 in Buttons then begin
31 if cmprt1.Connected then begin cmprt1.WriteStr('O'); lbl9.Caption:='Open'; end; end ; if JoyBtn5 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('P'); lbl9.Caption:='Close'; end; end ; if JoyBtn8 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('R'); lbl6.Caption:='Open Gate'; end; end ; if JoyBtn9 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('T'); lbl6.Caption:='Close Gate'; end; end ; if JoyBtn10 in Buttons then begin if cmprt1.Connected then begin cmprt1.WriteStr('F'); lbl6.Caption:='Pump Water'; end; end ; end;
procedure TForm1.joystick1Move(Sender: TNLDJoystick; const JoyPos: TJoyRelPos; const Buttons: TJoyButtons); begin Edit1.Text:=FloatToStr(JoyPos.X); Edit2.Text:=FloatToStr(JoyPos.Y); Edit3.Text:=FloatToStr(JoyPos.Z);
32 //stop if ((JoyPos.Y>=-0.2) and (JoyPos.Y<=0.2) and (JoyPos.X>=-0.2) and (JoyPos.X<=0.2)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('X'); lbl4.Caption:='Stop'; end; end; //Maju if ((JoyPos.Y>=-1) and (JoyPos.Y<=-0.3) and (JoyPos.X>=-0.2) and (JoyPos.X<=0.2)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('S'); lbl4.Caption:='Go Forward'; end; end; if ((JoyPos.Y>=-1) and (JoyPos.Y<=-0.8) and (JoyPos.X>=0.8) and (JoyPos.X<=1)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('N'); lbl4.Caption:='Right Forward'; end; end; if ((JoyPos.Y>=-1) and (JoyPos.Y<=-0.8) and (JoyPos.X>=-1) and (JoyPos.X<=0.8)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('M'); lbl4.Caption:='Right Left'; end; end; //mundur if ((JoyPos.Y>=0.3) and (JoyPos.Y<=1) and (JoyPos.X>=-0.2) and (JoyPos.X<=0.2)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('W'); lbl4.Caption:='Go Backward'; end; end;
33 if ((JoyPos.Y>=0.8) and (JoyPos.Y<=1) and (JoyPos.X>=0.8) and (JoyPos.X<=1)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('Z'); lbl4.Caption:='Right Backward'; end; end; if ((JoyPos.Y>=0.8) and (JoyPos.Y<=1) and (JoyPos.X>=-1) and (JoyPos.X<=0.8)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('C'); lbl4.Caption:='Left Backward'; end; end; // kanan if ((JoyPos.Y>=-0.4) and (JoyPos.Y<=0.4) and (JoyPos.X>=0.8) and (JoyPos.X<=1)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('A'); lbl4.Caption:='Go Right'; end; end; //kiri if ((JoyPos.Y>=-0.4) and (JoyPos.Y<=0.4) and (JoyPos.X>=-1) and (JoyPos.X<=0.8)) then begin if cmprt1.Connected then begin cmprt1.WriteStr('D'); lbl4.Caption:='Go Left'; end; end; end; end.
34
RIWAYAT HIDUP Penulis dilahirkan di Surabaya, 31 Agustus 1991 dari ayah bernama Rustam Effendy dan ibu bernama Yanti Menaningrum. Penulis merupakan anak kedua dari tiga bersaudara. Pada tahun 2009 penulis menyelesaikan pendidikan Sekolah Menengah Atas Negeri 2 Jayapura, Papua. Pada tahun 2009 penulis diterima sebagai mahasiswa Departemen Ilmu dan Teknologi Kelautan, Fakultas Perikanan dan Ilmu Kelautan, Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI). Semasa kuliah, penulis aktif dalam organisasi kemahasiswaan. Pada tahun 2011, penulis aktif di Himpunan Mahasiswa Ilmu dan Teknologi Kelautan (HIMITEKA) sebagai anggota PSDM. Pada tahun 2012, penulis memegang jabatan sebagai Ketua Divisi Keilmuan HIMTEKA. Penulis juga aktif di Marine Instrmentation and Telemetry (MIT) Club yang bergerak dibidang teknologi kelautan sebagai staff anggota pada tahun 2012-2013. Pada tahun 2013-2014, penulis menjabat sebagai Presiden (MIT) club. Penulis juga pernah menjadi Asisten mata Kuliah Dasar-Dasar Instrumentasi Kelautan dan Instrumentasi Kelautan dari tahun 2012 hingga tahun 2014. Dalam rangka penyelesaian studi, penulis melaksanakan penelitian denganb judul “PENGEMBANGAN ROBOT JELAJAH BAWAH AIR (RJBA V. 2014) UNTUK EKSPLORASI BAWAH LAUT”.