BAB III METODE PENELITIAN. Metode penelitian merupakan penjelasan dari metode-metode yang

dokumen-dokumen yang mirip
BAB III METODE PENELITIAN. tracking obyek. Pada penelitian tugas akhir ini, terdapat obyek berupa bola. Gambar 3.1. Blok Diagram Penelitian

BAB 1 PENDAHULUAN. dalam kehidupan manusia. Perkembangan robot dari zaman ke zaman terus

MODUL PRAKTIKUM ROBOTIKA. Program Studi Sistem Komputer STMIK STIKOM Indonesia

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB II DASAR TEORI. bentuk api dan lapangan pertandingan pada KRPAI. Pemadam Api (Setyawan, D.E dan Prihastono, 2012) [2]

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN DAN PEMBUATAN APLIKASI

PEMANFAATAN KAMERA WIRELESS SEBAGAI PEMANTAU KEADAAN PADA ANTICRASH ULTRASONIC ROBOT

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV HASIL DAN PEMBAHASAN

BAB 3 PERANCANGAN SISTEM

Elvin Nur Afian, Rancang Bangun Sistem Navigasi Kapal Laut berbasis pada Image Processing metode Color Detection

DAFTAR ISI ABSTRAK... 7 KATA PENGANTAR... 8 DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN BAB I PENDAHULUAN...

MOTOR DRIVER. Gambar 1 Bagian-bagian Robot

ROBOT ULAR PENDETEKSI LOGAM BERBASIS MIKROKONTROLER

BAB III ANALISIS DAN PERANCANGAN

RANCANG BANGUN SENSOR PARKIR MOBIL PADA GARASI BERBASIS MIKROKONTROLER ARDUINO MEGA 2560

BAB III METODE PENELITIAN. pada blok diagram tersebut antara lain adalah webcam, PC, microcontroller dan. Gambar 3.1 Blok Diagram

BAB IV HASIL DAN UJI COBA

BAB I PENDAHULUAN. Indonesia dengan sistem robot tanpa awak yang dapat dikendalikan secara otomatis

III. METODE PENELITIAN. Perancangan sistem dilakukan dari bulan Maret sampai Juni 2014, bertempat di

BAB IV PROTOTYPE ROBOT TANGGA BERODA. beroda yang dapat menaiki tangga dengan metode pengangkatan beban pada roda

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. Metode penelitian yang digunakan pada tugas akhir ini melalui beberapa

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III PERANCANGAN. Pada bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana. simulasi mobil automatis dirancang, diantaranya adalah :

BAB III METODE PENELITIAN. diperlukan dengan beberapa cara yang dilakukan, antara lain:

BAB IV PERANCANGAN. 4.1 Flowchart

ROBOT PEMBAGI KERTAS SOAL UJIAN BERBASIS MIKROKONTROLER ATMEGA 16

BAB IV PENGUJIAN SISTEM. pada PC yang dihubungkan dengan access point Robotino. Hal tersebut untuk

BAB I PENDAHULUAN. Universitas Internasional Batam

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III ANALISIS DAN PERANCANGAN

PENERAPAN SINYAL ULTRASONIK PADA SISTEM PENGENDALIAN ROBOT MOBIL

LAPORAN MEMBUAT ALAT PRAKTIK MIKROPROSESSOR

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN

BAB IV HASIL DAN PEMBAHASAN. Penulis membutuhkan perangkat keras sebagai berikut:

const int pingpin = 7; //inisialisasi Pins sensor ultrasonik LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //Inisialisasi Pins LCD

MOUSETRAP BERBASIS ARDUINO UNO DENGAN SENSOR PIR

BAB 4 IMPLEMENTASI DAN EVALUASI. Pada Bab IV ini menjelaskan tentang spesifikasi sistem, rancang bangun

BAB IV HASIL PENELITIAN DAN ANALISIS. Pengujian Modul Kamera Raspberry Pi v2

ARIEF SARDJONO, ST, MT.

BAB III PERENCANGAN DAN PEMBUATAN ALAT

BAB II SISTEM PENENTU AXIS Z ZERO SETTER

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB II DASAR TEORI. pemperbaiki kualitas citra agar mendapatkan hasil citra yang baik dan mudah

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT

RANCANG BANGUN ROBOT PERMAINAN CATUR BERBASIS KAMERA

SISTEM PENJEJAK POSISI OBYEK BERBASIS UMPAN BALIK CITRA

ROBOT OMNI DIRECTIONAL STEERING BERBASIS MIKROKONTROLER. Muchamad Nur Hudi. Dyah Lestari

ROBOT PENJEJAK RUANGAN DENGAN SENSOR ULTRASONIK DAN KENDALI GANDA MELALUI BLUETOOTH

BAB I PENDAHULUAN. Sistem pendeteksi pada robot menghindar halangan banyak

BAB III ANALISIS DAN DESAIN SISTEM

BAB II KAJIAN LITERATUR...

BAB I PENDAHULUAN. yang berbentuk pasti memiliki ukuran, baik itu panjang, tinggi, berat, volume,

SISTEM ROBOT PENGIKUT GARIS DAN PEMADAM API BERBASIS MIKROKONTROLER AT89C51. Budi Rahmani, Djoko Dwijo Riyadi ABSTRAK

BAB III METODE PENELITIAN. Tujuan dari tugas akhir ini yaitu akan membuat sebuah mobile Robot

APLIKASI WEBCAM UNTUK DETEKSI WARNA SEBAGAI INPUT KENDALI ROBOT MOBIL BERBASIS ARDUINO

BAB III PERANCANGAN ALAT

BAB IV PERANCANGAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN SISTEM

Tutorial Eagle. Berikut jendela baru

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT

Tugas Sensor Ultrasonik HC-SR04

BAB III PERANCANGAN SISTEM

Prodi S1 Teknik Informatika, Fakultas Teknik, Universitas Telkom 1 2

BAB IV IMPLEMENTASI DAN ANALISIS. pengukuran bahan bakar minyak pada tangki SPBU ini terbagi dalam dua

BAB III PERANCANGAN. Gambar 3.1 Blok Diagram Sistem

BAB III PERANCANGAN ALAT

Robot Bergerak Penjejak Jalur Bertenaga Sel Surya

Pengenalan Sensor Ultrasonic SRF05 dengan Arduino Sketch. Sensor Ultrasonic SRF05

BAB III ANALISA DAN CARA KERJA RANGKAIAN

Pengenalan Telur Berdasarkan Karakteristik Warna Citra Yustina Retno Wahyu Utami 2)

BAB I PENDAHULUAN. aspek kehidupan manusia. Hal ini dapat dilihat dari pembuatan robot-robot cerdas dan otomatis

BAB III PERANCANGAN Sistem Kontrol Robot. Gambar 3.1. Blok Diagram Sistem

BAB III PERANCANGAN ALAT

KONTROL ROBOT MOBIL PENJEJAK GARIS BERWARNA DENGAN MEMANFAATKAN KAMERA SEBAGAI SENSOR

BAB III METODE PENELITIAN. melacak badan manusia. Dimana hasil dari deteksi atau melacak manusia itu akan

ROBOT CERDAS BERKAKI PEMADAM API

BAB III METODE PENELITIAN

PERANCANGAN SISTEM KENDALI GERAKAN ROBOT BERODA TIGA UNTUK PEMBERSIH LANTAI

BAB III SISTEM KERJA RANGKAIAN

BAB IV METODE KERJA PRAKTEK

BAB 3 PERANCANGAN SISTEM

BAB I PENDAHULUAN. Mikrokontroler merupakan pengontrol mikro atau disebut juga Single Chip

PENGENDALIAN POSISI MOBILE ROBOT MENGGUNAKAN METODE NEURAL NETWORK DENGAN UMPAN BALIK KAMERA PEMOSISIAN GLOBAL

BAB IV HASIL DAN PEMBAHASAN

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN. Pada pengerjaan tugas akhir ini metode penelitian yang dilakukan yaitu. dengan penelitian yang dilakukan.

BAB III ANALISA DAN PERANCANGAN

BAB II LANDASAN TEORI

Transkripsi:

BAB III METODE PENELITIAN Metode penelitian merupakan penjelasan dari metode-metode yang digunakan pada penelitian ini. 3.1 Metode Pengembangan Pada penelitian Tugas Akhir ini dilakukan pendeteksian obyek berupa cradle (tempat tidur bayi pada KRPAI 2016) dengan mobile robot yang menggunakan kamera sebagai mata robot. Mobile robot akan mencari cradle pada setiap ruangan lapangan KRPAI 2016 dan ketika mobile robot mendeteksi sebuah cradle pada salah satu ruangan, maka mobile robot memberi penanda atau indikator bahwa mobile robot benar-benar mendeteksi adanya cradle pada salah satu ruangan lapangan. Proses pengolahan citra dilakukan pada Raspberry yang sudah terinstall OpenCV, maka Raspberry bertugas untuk mendeteksi cradle dan mengirim data ke sebuah mikrokontroler untuk mengatur pergerakan mobile robot atau semua sensor-sensor yang terpasang pada mobile robot. Komunikasi antara Raspberry sebagai pengolarahan citra dan Arduino sebagai mikrokontroler pengendali pada mobile robot menggunakan komunikasi serial. 3.2 Prosedur Penelitian adalah: Prosedur penelitian yang digunakan pada pengerjaan Tugas Akhir ini 31

32 1. Studi literatur Pada proses pengerjaan penelitian ini terdapat dua proses prancangan yang dilakukan yaitu, proses perancangan perangkat keras dan lunak. 2. Tahapan perancangan dan pengembangan sistem Dalam pengerjaan pengembangan sistem, terdapat beberapa langkah rancangan sistem yang diambil antara lain: a. Membuat flowchart pada proses sistem secara keseluruhan. b. Melakukan perancangan perangkat keras yang meliputi: 1. Merancang rangkaian elektronika yang digunakan pada penelitian. 2. Melakukan percobaan tentang cara penggunaan Raspberry sebagai image processing serta sensor-sensor lainnya seperti limit switch, PING, adjustable Inframerah, sensor garis dan device yang digunakan pada penelitian. 3. Merancang mekanik pada mobile robot KRPAI 2016. c. Melakukan perancangan perangkat lunak yang meliputi: 1. Membuat program Color Threshold pada Raspberry agar dapat mendeteksi cradle. 2. Membuat program untuk menggerakan motor pada Arduino agar dapat berjalan. 3. Membuat program pembacaan sensor-sensor seperti PING, limit switch, adjustable inframerah serta sensor garis pada Arduino.

33 3.3 Diagram Blok Sistem Dari penelitian ini terdapat proses yang akan dijalankan, yaitu proses pendeteksian cradle dengan menggunakan image processing melalui Raspberry dan pembacaan sensor-sensor serta mengatur pergerakan motor melalui Arduino sebagai mikrokontroller. Mobile robot memberi sebuah indikator ketika mobile robot dapat mendeteksi sebuah cradle. Pencarian cradle dilakukan pada setiap ruangan lapangan KRPAI 2016. Diagram blok penelitian dapat dilihat pada Gambar 3.1 Raspberry Pi Cradle Kamera HSV Color Threshold Robot Gambar 3.1 Diagram Blok Penelitian

34 Dari Gambar 3.1 dapat dijelaskan proses alur kerja robot sebagai berikut: 3.3.1 Cradle (Tempat Tidur Bayi) Cradle bisa juga disebut tempat tidur si bayi. Cradle terbuat dari styrofoam. Cradle diletakkan di atas kotak (kubus) dengan ukuran 15 cm. Tempat dudukan cradle ditunjukkan oleh Gambar 3.2, sedangkan untuk detail ukuran cradle seperti pada Gambar 3.3. Gambar 3.2 Dudukan Cradle Gambar 3.3 Detail Ukuran Cradle Sumber : (Trinity College. Fire-Fighting Home Robot Contest 2016 Rules)

35 3.3.2 Kamera Fungsi kamera secara umum adalah mengambil suatu gambar dari obyek, yang akan dibiaskan melalui lensa pada sensor CCD dan sensor BSI-CMOS kemudian direkam dan disimpan dalam format digital. Tetapi fungsi kamera yang dipasang pada mobile robot difungsikan sebagaimana mata manusia. Kamera mencari berupa obyek cradle dan ketika cradle terlihat oleh kamera, maka mobile robot memberikan penanda atau indicator. Berikut adalah cuplikan program untuk memanggil fungsi kamera dan mengatur resolusi pixelnya: CvSize size640x480 = cvsize(640, 480); CvCapture* p_capwebcam; p_capwebcam = cvcapturefromcam(1); cvnamedwindow("original", CV_WINDOW_AUTOSIZE); cvnamedwindow("processed", CV_WINDOW_AUTOSIZE); 3.3.3 HSV (Hue Saturation Value) Untuk mentransformasikan dari RGB ke HSV, diasumsikan koordinatkoordinat R, G, B [0,1] adalah berurutan merah, hijau, biru dalam ruang warna RGB, dengan max adalah nilai maksimum dari nilai red, green, blue dan min adalah nilai minimum dari nilai red, green, blue. Pengkonversian nilai RGB ke HSV Untuk dapat merubah nilai RGB menjadi nilai HSV dapat menggunakan teori Travis, sebagai berikut:

36 H 0, jika _ Max = Min G B x60, ifr = Max Max Min B R = 120 + x60, ifg = Max Max Min R G 240 + x60, ifb = Max Max Min S = Max Min Max V = Max Rumus di atas menghasilkan nilai value dan saturation dalam jangkauan RGB [0,1]. Dikalikan dahulu dengan 255 untuk memperoleh nilai dengan jangkauan RGB [0,255]. Misalnya ingin ditransformasikan RGB (65, 27, 234) ke dalam bentuk HSV, maka langkahnya adalah sebagai berikut: Setiap nilai RGB (65, 27, 234) diubah dalam jangkauan [0,1] dengan membagi setiap nilai dengan 255: MMMMMMMMMMMMMM 65 255, 27 255, 234 = (0.255, 0.106, 0.918) 255 RGB (0.255, 0.106, 0.918) ini yang akan ditransformasikan ke bentuk HSV. max = nilai B (blue) = 0.918, min = nilai G (green) = 0.106, max min = 0.918 0.106 = 0.812. RR GG h (huuuu) = 60 + 4, kkkkkkmmmmmm MMMMMM = BB BBBBBBBB. MMMMMM MMMMMM 0.255 0.106 = 60 + 4 = 251 0.812 vv (vvvvvvvvvv) = MMMMMM = 0.918

37 ss (ssssssuukkmmssssssss) = MMMMMM MMMMMM, kkkkkkmmmmmm MMMMMM <> MMMMMM vv = 0.812 0.918 = 0.885 Sehingga nilai RGB (65, 27, 234) ditransformasikan menjadi HSV (251, 0.885, 0.918). Berikut merupakan cuplikan program HSV (Hue-Saturation-Value): int H_MIN = 0; int H_MAX = 256; int S_MIN = 0; int S_MAX = 256; int V_MIN = 0; int V_MAX = 256; using namespace cv; const string trackbarwindowname = "Trackbars"; void on_trackbar(int, void*) {} void createtrackbars(){ namedwindow(trackbarwindowname, 0); char TrackbarName[50]; printf(trackbarname, "H_MIN", H_MIN); printf(trackbarname, "H_MAX", H_MAX); printf(trackbarname, "S_MIN", S_MIN); printf(trackbarname, "S_MAX", S_MAX); printf(trackbarname, "V_MIN", V_MIN); printf(trackbarname, "V_MAX", V_MAX); createtrackbar("h_min", trackbarwindowname, &H_MIN, H_MAX, on_trackbar); createtrackbar("h_max", trackbarwindowname, &H_MAX, H_MAX, on_trackbar); createtrackbar("s_min", trackbarwindowname, &S_MIN, S_MAX, on_trackbar); createtrackbar("s_max", trackbarwindowname, &S_MAX, S_MAX, on_trackbar); createtrackbar("v_min", trackbarwindowname, &V_MIN, V_MAX, on_trackbar); createtrackbar("v_max", trackbarwindowname, &V_MAX, V_MAX, on_trackbar); } cvcvtcolor(p_imgoriginal, p_imghsv, CV_BGR2HSV);

38 3.3.4 Color Threshold Color Filtering adalah metode yang digunakan untuk mencari suatu warna pada sebuah image. Setelah warna yang dicari dapat ditemukan pada image, maka proses selanjutnya bisa dilakukan. Pada dasarnya pencarian ini menggunakan kombinasi dari komponen warna Red, Green, dan Blue yang terdapat pada image. Nilai dari masing-masing komponen didapat dari hasil beberapa kali percobaan. Nilai dari masing-masing komponen warna kemudian dijadikan filter yang merupakan penentu sebuah warna diloloskan atau tidak. Keluaran dari metode color Thershold adalah grayscale image. Grayscale image adalah sebuah gambar yang hanya memiliki 2 gradasi warna yaitu hitam dan putih, dimana warna putih pada gambar merupakan representasi pixel dari warna yang lolos seleksi. Sedangkan, warna hitam pada gambar merupakan representasi pixel dari warna yang tidak lolos seleksi. Flowchart Color Threshold dapat dilihat pada Gambar 3.4 Gambar 3.4 Flowchart Color Threshold

39 Flowchart pada Gambar 3.4 menjelaskan tentang bagaimana proses pendeteksia cradle dengan menggunakan color threshold. Pertama adalah proses inisialisasi. Kemudian kamera webcam melakukan pencarian obyek berupa cradle. Ketika cradle terdeteksi oleh kamera, maka program akan mengirimkan data ke mikrokontroler dan jika cradle belum terdeteksi maka Webcam akan terus melakukan proses pendeteksian cradle. Berikut merupakan contoh program untuk Color Threshold dan untuk menandai bahwa cradle dapat dideteksi: cvsmooth(p_imgprocessed, p_imgprocessed, CV_GAUSSIAN, 9, 9); p_seqcircles = cvhoughcircles(p_imgprocessed, p_strstorage, CV_HOUGH_GRADIENT, 2, p_imgprocessed->height / 4, 100, 50, 10, 210); if (p_seqcircles->total == 1) { p_fltxyradius = (float*)cvgetseqelem(p_seqcircles, 1); //printf (" ono cak /n "); printf("ball position x = %f, y = %f, r = %f \n", p_fltxyradius[0], p_fltxyradius[1], p_fltxyradius[2]); cvcircle(p_imgoriginal, cvpoint(cvround(p_fltxyradius[0]), cvround(p_fltxyradius[1])), 3, CV_RGB(0, 255, 0), CV_FILLED); cvcircle(p_imgoriginal, cvpoint(cvround(p_fltxyradius[0]), cvround(p_fltxyradius[1])), cvround(p_fltxyradius[2]), CV_RGB(255, 0, 0), 3); } 3.4 Perancangan Mekanik Robot Mekanik dari mobile robot yang digunakan pada penelitian ini terbuat dari bahan plat sebagai base 1 atau paling bawah. Sedangkan, untuk base 2 terbuat dari cetakan PCB berbentuk persegi panjang yang telah didesain dan dirancang khusus untuk kepentingan penelitian sistem mobile robot ini. Tujuan mobile robot didesain sedemikian rupa agar seluruh komponen elektronika bisa terpasang dengan baik pada mobile robot, mulai dari rangkaian mikrokontroler, motor driver, sensor photodioda, PING, limit Switch, adjustable infrared, LCD

40 dan baterai untuk mobile robot. Mobile robot juga mempunyai sebuah indikator jika mobile robot dapat mendeteksi adanya cradle. Pada Gambar 3.5 sampai 3.8 merupakan desain mobile robot dilihat dari beberapa sisi. Gambar 3.5 Mobile robot Tampak Depan Gambar 3.5 menunjukkan posisi mobile robot menghadap ke depan. Pada bagian depan robot terdapat beberapa komponen seperti sensor ultrasonic, yaitu PING dan sensor Adjustable Infrared. Sensor PING digunakan untuk memberi jarak antara mobile robot dengan dinding agar mobile robot tidak sampai menabrak dinding ketika berjalan. Sensor adjustable infrared digunakan untuk mendeteksi adanya benda (furniture) di depan mobile robot yang menghalangi jalan mobile robot.

41 Gambar 3.6 Mobile robot Tampak Samping Kanan Gambar 3.6 menunjukkan posisi mobile robot menghadap ke samping kanan. Pada bagian samping kanan mobile robot terdapat beberapa komponen seperti sensor ultrasonic PING, motor driver, dan roda kanan mobile robot. Sensor PING digunakan untuk memberi jarak antara mobile robot dengan dinding agar mobile robot tidak sampai menabrak dinding ketika berjalan. Motor driver digunakan untuk mengontrol pergerakan dan kecepatan motor DC. Roda digunakan agar mobile robot bisa bergerak. Gambar 3.7 Mobile robot Tampak Samping Kiri

42 Gambar 3.7 menunjukkan posisi robot menghadap ke samping kiri. Pada bagian samping kiri mobile robot terdapat beberapa komponen seperti sensor ultrasonic PING, motor driver, dan roda kiri mobile robot. Sensor PING digunakan untuk memberi jarak antara mobile robot dengan dinding agar mobile robot tidak sampai menabrak dinding ketika berjalan. Motor driver digunakan untuk mengontrol pergerakan dan kecepatan motor DC. Roda digunakan agar mobile robot bisa bergerak. Gambar 3.8 Mobile robot Tampak Belakang Gambar 3.8 menunjukkan posisi robot menghadap ke belakang. Pada bagian samping kiri mobile robot terdapat kamera yang digunakan untuk mendeteksi cradle. 3.4.1 Dimensi Robot Setelah semua komponen tambahan dipasang pada mobile robot, berikut merupakan dimensi keseluruhan dari mobile robot: 1. Panjang Mobile robot : 25 cm

43 2. Lebar Mobile robot : 20 cm 3. Tinggi Mobile robot : 27 cm 3.4.2 Struktur Material Robot Bahan material yang digunakan dalam penelitian ini untuk merancang dan membuat mobile robot adalah sebagai berikut: a. Bagian base 1 1. Plat 2. Mur dan Baut b. Bagian base 2 1. PCB 2. Mur dan Baut c. Bagian dari Perangkat Robot 1. Motor DC 12 volt 2. Roda Bebas 3. Penghalang limit switch 3.4.3 Perancangan Mikrokontroller Arduino Bagian elektronika mobile robot:

44 Gambar 3.9 Diagram Robot Pada Gambar 3.9 Arduino sebagai mikrokontroler digunakan untuk mengatur sensor-sensor yang terpasang pada mobile robot, seperti sensor ultrasonik PING, Adjustable infrared, limit switch, motor driver, serta komunikasi antara Arduino dengan Raspberry menggunakan komunikasi serial. Pada sisi komunikasi, Arduino berfungsi hanya sebagai penerima saja dan tidak bisa mengirim kembali atau memberi feedback ke Raspberry. 3.4.4 Limit Switch Limit switch berkerja ketika terkena tekanan atau sentuhan dari sebuah benda. Misalnya pada robot KRPAI, ketika robot menabrak atau menyentuh dinding, maka robot akan memberikan tegangan pada mikrokontroler sebagai indikator bahwa robot menabrak atau menyentuh dinding. Flowchat penggunaan limit switch pada penelitian ini ditunjukkan oleh Gambar 3.10.

45 Gambar 3.10 Flowchart Limit Switch Fungsi limit switch pada robot KRPAI adalah untuk meminimalisir kerusakan pada base robot saat terjadi benturan dengan dinding ataupun benda yang lainnya. Flowchart pada Gambar 3.10 menjelaskan bahwa setelah proses inisialisasi dilakukan proses selanjutnya adalah ketika salah satu atau kedua limit switch bernilai 1 maka robot akan mundur, tetapi jika tidak robot berjalan normal. Perubahan nilai dari limit switch terjadi karena mobile robot menabrak dinding sehingga limit switch menjadi tertekan oleh dinding. Robot KRPAI mempunyai 2 buah limit switch dengan cara kerja limit switch sebagai berikut. Berikut merupakan program limit switch yang diterapkan pada mobile robot:

46 int swit1=digitalread(lim_swit); if(swit1 == LOW) { analogwrite(pwmka,40); analogwrite(pwmki,40); mundur_kanan(); mundur_kiri(); delay(500);} 3.4.5 Sensor Ultrasonic PING Sensor ultrasonic adalah sebuah sensor yang memanfaatkan pancaran gelombang ultrasonic. Sensor ultrasonic terdiri dari transmitter dan receiver. Transmitter berfungsi pemancar gelombang, sedangkan receiver berfungsi sebagai penerima gelombang. Pembacaan sensor ultrasonik PING ditunjukkan pada Gambar 3.11 Gambar 3.11 Pembacaan Sensor Ultrasonic PING Nilai pembacaan jarak pada sensor ultrasonic PING diperoleh dari rumus berikut ini: Jarak (cm) = Lama Waktu Pantul (us) / 29.034 / 2

47 Rumus jarak didapat dari pembagian lama waktu pantul dengan kecepatan gelombang ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi dua kali jarak tempuh antara sensor dengan obyek, yaitu pada saat gelombang dipancarkan dari transmitter ke obyek dan pada saat gelombang memantul ke receiver ultrasonik. Berikut adalah contoh program sensor ultrasonic PING: const int pingpin = 42; const int pingpin2 = 48; int ping1() { long duration, cm; pinmode(pingpin, OUTPUT); digitalwrite(pingpin, LOW); delaymicroseconds(2); digitalwrite(pingpin, HIGH); delaymicroseconds(5); digitalwrite(pingpin, LOW); pinmode(pingpin, INPUT); duration = pulsein(pingpin, HIGH); cm = duration / 29 / 2; dtp1=cm;} void loop() {ping1();} 3.5 Lapangan Uji Coba Robot Lapangan uji coba digunakan untuk melakukan percobaan pendeteksian cradle di setiap ruangan. Lapangan menggunakan konsep seperti pada pertandingan robot KRPAI beroda, yang memiliki 4 ruangan seperti yang ditunjukkan oleh Gambar 3.12

Gambar 3.12 Lapangan Uji Coba 48