Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 ISSN : 1979-6641 PERANCANGAN ROBOT PEMBACA GARIS HITAM BERBASIS MIKROKONTROLER Budi Serasi Ginting, S.Kom.,M.Kom.1, Drs.Hermansyah Sembiring,M.Kom.2 STMIK Kaputama, Jl. Veteran No. 4A-9A, Binjai Sumut, Indonesia Abstrak Penelitian ini bertujuan untuk menyelesaikan permasalahan bagaimana robot mampu membaca garis hitam sebagai media jalurnya. Perancangan ini menyediakan kemampuan konektivitas yang berbasis mikrokontroler dengan membaca garis yang berwarna hitam. Robot Sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan bawah air dan luar angkasa, pertambangan, pekerjaan mencari dan menolong orang (search and rescue). Untuk mendukung sistem ini penulis melakukan studi kepustakaan dengan cara membaca dan mempelajari dari berbagai buku juga bersumber literatur yang berkaitan perancangan robot yang memungkinkan robot dapat berkomunikai. Dari penelitian ini dapat ditarik kesimpulan bahwa dengan sistem yang dirancang ini Perangkat lunak ini memungkinkan pembaca garis hitam sebagai alat peraga, kita dapat memahami dasar pengendali robot. Kata Kunci : Robot, Mikrokontroler, Line Follower, LED, RISC. 1. Pendahuluan 1.1. Latar Belakang Penelitian Dalam era globalisasi saat ini kemajuan teknologi semakin pesat. Kemajuan teknologi didasari pola pikir manusia yang semakin cerdas serta keinginannya untuk mencari segala sesuatu yang lebih mudah, praktis dan ekonomis. Hal itulah yang membuat manusia untuk mengembangkan teknologi yang bisa menggantikan tenaga manusia, sehingga manusia mengembangkan teknologi robot untuk membantu pekerjaan manusia di aspek industri di seluruh dunia. Karena disamping ekonomis, robot juga memiliki efisiensi dalam melakukan pekerjaan lebih banyak dan lebih lama di bandingkan dengan tenaga manusia sehingga dapat meningkatkan jumlah produksi. Dan hal ini berdampak pada berkurangnya tenaga manusia yang di butuhkan dalam oprasional dalam kegitan industri. Robot bahkan mampu melakukan hampir semua hal yang bisa dilakukan oleh manusia, termasuk analisa dan bahkan berfikir layaknya manusia. Tidak dapat dibayangkan bahwa perkembangan teknologi telah berkembang semakin pesatnya. Namun semua itu tidaklah murah, bahkan untuk merancang sebuah robot yang mampu melakukan tugas yang spesifik dibutuhkan biaya yang sangat besar. Nilainya bisa mencapai puluhan juta rupiah. Meskipun demikian perancangan robot sekarang ini sudah semakin mudah dengan banyaknya vendor-vendor menyediakan kitkit (bagian-bagian robot bongkar pasang) yang siap untuk dirakit menjadi sebuah robot yang diinginkan. Tentu berat bagi beberapa kalangan orang, tertentu yang ingin membuat sebuah robot, karena uang yang akan dikeluarkan tersebut nilainya terbilang sangat besar sekali. 1.2. Identifikasi Masalah Dalam pengerjaan Penelitian ini, terdapat beberapa identifikasi masalah yang dihadapi mahasiswa dalam membuat sebuah robot, antara lain : 1. Bagai mana cara membuat hardware untuk sebuah robot? 2. Bagai mana cara memprogram sebuah robot? Program Studi : Teknik Informatika, STMIK Kaputama Binjai 28 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 3. Dengan menggunakan komponen apa robot bisa membaca garis hitam yang di dibuat? 2. Tinjauan Pustaka 2.1 Pengertian Perancangan Menurut Al fattah (2007, h, 12), “Perancangan merupakan tahap selanjutnya setelah analisa sistem. Setelah mendapatkan gambaran dengan jelas tentang apa yang akan dikerjakan pada tahap analisa sistem, maka dilanjutkan dengan memikirkan bagaimana membentuk sistem tersebut.” Menurut Al-Bahra Bin Ladjamudin (2008, h, 39), menyebutkan bahwa : ”Perancangan adalah suatu kegiatan yang memiliki tujuan untuk mendesign sistem baru yang dapat menyelesaikan masalahmasalah yang dihadapi perusahaan yang diperoleh dari pemilihan alternatif sistem yang terbaik.” 2.2 Pengertian Robot Menurut Pitowarno, Endra, (2006, h, 3), menyebutkan bahwa “Robot adalah Sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan)”. Istilah robot berawal bahasa Cheko “robota” yang berarti pekerja atau kuli yang tidak mengenal lelah atau bosan. Robot biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan bawah air dan luar angkasa, pertambangan, pekerjaan "cari dan tolong" (search and rescue). 2.3 Pengertian Garis geometri digunakan untuk memodel dunia nyata, garis digunakan untuk menggambarkan obyek lurus dengan lebar dan tinggi yang berbeda. Garis adalah idealisasi dari obyek semacam itu dan tidak punya lebar atau tinggi dan panjangnya dianggap tak hingga. 2. 4. Pengertian Hitam Hitam dalam definisi ideal adalah representasi ketidak hadiran sedikit pun warna atau cahaya di dalam sebuah ruang gelap. Dalam fotografi, hal ini berarti ketidak mampuan film atau sensor menangkap cahaya akibat intensitas pembakaran terlalu rendah. Hal ini bisa ISSN : 1979-6641 dicapai dengan melakukan pengukuran under exposure dalam penggunaan lightmeter. 2.5. Pengertian Robot Line Follower Menurut Suyadhi, Taufiq Dwi Septian, dalam (2008, h, 47), menyebutkan bahwa “Robot line follower adalah Sebuah robot yang bisa bergerak mengikuti garis tebal berwarna hitam.” Bagaimana bisa robot ini mengikuti garis hitam? Tentulah diperlukan sebuah sensor, yaitu sensor proximity. Sensor ini bisa kita buat sendiri. Prinsip kerjanya sederhana, hanya memanfaatkan sifat cahaya yang akan dipantulkan jika mengenai benda berwarna terang dan akan diserap jika mengenai benda berwarna gelap. Sebagai sumber cahaya kita gunakan LED (Light Emiting Diode) yang akan memancarkan cahaya merah dan untuk menangkap pantulan cahaya LED kita gunakan photodiode. Jika sensor berada diatas garis hitam maka photodioda akan menerima sedikit sekali cahaya pantulan. Tetapi jika sensor berada diatas garis putih maka photodioda akan menerima banyak cahaya pantulan. 2.6 Mikrokontroller ATmega 8535 Menurut Agus Bejo(2008, h, 24), menyebutkan bahwa “Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik ditulis atau dihapus.” Biasanya digunakan untuk pengontrolan otomatis dan manual pada perangkat elektronika. Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas AT nya, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang Program Studi : Teknik Informatika, STMIK Kaputama Binjai 29 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 digunakan, mereka bisa dikatakan hampir sama. Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM internal, Timer/Counter, PWM, analog comparator. 3. Tujuan dan Manfaat Penelitian 3.1 Tujuan Penelitian Berdasarkan uraian di atas, maka penelitian ini bertujuan untuk : 1. Merancang robot pembaca garis hitam sebagai alat peraga untuk memahami dasar pengendali robot. 2. Membangun persepsi yang positif bahwa dalam merancang sebuah robot tidak dibutuhkan biaya yang sangat besar. 3.2 Manfaat Penelitian Berdasarkan uraian di atas, maka manfaat penelitian ini untuk : 1. Memberikan wawasan/pengetahuan tentang perancangan robot pembaca garis hitam sederhana dengan berbagai macam bentuk kinematika geraknya. 2. Memberikan pemahaman bagai mana cara memberikan intruksi kepada robot pembaca garis hitam. 3. Memberi pemahaman bagaimana caranya membangun logika dalam rangkaian elektronika pada sistem kendali robot pembaca garis hitam agar mampu menghasilkan output yang sesuai dengan kebutuhannya. 4. Perancangan 4.1 Alat dan Bahan Peralatan yang di gunakan dalam perancangan ini adalah : Alat pemrograman dari PC ke Mikrokontroler yaitu Serial Programer/downloader, multimeter digital, solder, project board, tang potong, penghisap timah. Sedangkan bahan-bahan yang digunakan pada perancangan ini adalah komponen semikonduktor dan komponen pasif elektronika, ATMega8535, LCD(2x16), baterai, triplek, timah, kabel pita, Printed Circuit Board (PCB), dan berbagai bahan (komponen) yang diginakan sebagai pelengkap dalam perakitan alat. 4.2 Unit interface ISSN : 1979-6641 Unit interface berfungsi sebagai penghubung antara unit komputer dengan unit mikrokontroler. Alat yang digunakan sebagai unit interface pada perancangan alat ini adalah Serial downloader ATMega8535. Serial programmer ATMega8535 adalah alat utama dalam hal memprogram mikrokontroler ini, karena alat ini merupakan penghubung langsung antara hardware mikrokontroler dengan software didalamnya. Sehingga proses baca dan tulis mikrokontroler dapat berjalan. Serial programmer ATMega8535 hanya untuk mikrokontroler dari keluarga ATMega saja. Adapun bentuk dari Serial programmer ATMega8535 dapat dilihat pada gambar berikut : Gambar 1 Serial downloader 4.3 Perancangan Fungsional Perancangan perangkat keras dalam pembuatan robot pembaca garis hitam dibutuhkan perincian yang lebih spesifik khususnya yang berkenaan dengan kontruksi objek. Dalam perancangan perangkat keras, diusahakan agar komponen yang dipakai tidak mahal sehingga tidak memerlukan biaya yang terlalu besar untuk pembuatannya. Selain itu kemungkinan akan terjadinya kerusakan sangat besar. 1. Unit Catu Daya Utama Menurut Taufik Dwi septian (2010,h, 87 ), menyebutkan bahwa “Catu daya adalah suatu sistem filter penyearah (rectifier-filter) yang mengubah tegangan AC menjadi tegangan DC murni.” Banyak rangkaian catu daya yang berlainan yang dapat digunakan untuk pekerjaan tersebut. Komponen dasar yang digunakan untuk rangkaian yang lebih sederhana adalah transformator, penyearah (dioda), resistor, kapasitor, dan inductor. catu yang diatur secara lebih kompleks dapat menambahkan transistor atau trioda sebagai pengindrategangan dan pengontrolan tegangan, ditambah dengan dioda zener atau tabung VR untuk menyediakan tegangan acuan (reference). Sistem penyearah sendiri dibagi Program Studi : Teknik Informatika, STMIK Kaputama Binjai 30 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 menjadi dua, yaitu penyearah setengah gelombang dan penyearah gelombang penuh. 2. Perancanan Hardware a. Led dan Photodiode Sebagai sumber cahaya kita gunakan LED (Light Emiting Diode) yang akan memancarkan cahaya merah dan untuk menangkap pantulan cahaya LED kita gunakan photodiode. Jika sensor berada diatas garis hitam maka photodioda akan menerima sedikit sekali cahaya pantulan. Tetapi jika sensor berada diatas garis putih maka photodioda akan menerima banyak cahaya pantulan. Sifat dari photodioda adalah jika semakin banyak cahaya yang diterima, maka nilai resistansi diodanya semakin kecil. Dengan melakukan sedikit modifikasi, maka besaran resistansi tersebut dapat diubah menjadi tegangan. Sehingga jika sensor berada diatas garis hitam, maka tegangan keluaran sensor akan kecil, demikian pula sebaliknya. Agar dapat dibaca oleh mikrokontroler, maka tegangan sensor harus disesuaikan dengan level tegangan TTL yaitu 0 – 1 volt untuk logika 0 dan 3 – 5 volt untuk logika 1. Pada robot pembaca garis hitam, sedikitnya diperlukan 2 buah sensor proximity yang disusun agar keduanya berada tepat diatas garis hitam. Berikut adalah rangkaian lengkap dua set sensor proximity untuk robot pembaca garis hitam : ISSN : 1979-6641 pada driver motor DC, motor DC ini akan dapat bekerja dan akan berhenti bekerja apabila diberikan pulsa low. Berikut adalah rangkaian motor DC untuk robot pembaca garis hitam : Gambar 3 Rangkaian Motor DC c. Perancangan PCB (Printed Circuit Board) Perancangan pcb dibutuhkan ketelitian, karena berkenaan dengan kontruksi. Perancangan dibuat dengan menggunakan software eagle 5.2.0. untuk membuat rancangan ini diperlukan beberapa alat dan bahan, seperti papan pcb, strika, printer, fericlorit. Ini adalah contoh gambar PCB yang telah dibuat : Gambar 4 Tampilan Pcb Gambar 2 Rangkaian Sensor Proximity b. Motor DC Motor DC dari penggerak mekanik robot digunakan sebagai gerakan robot. Motor dc ini akan aktif atau bekerja apabila motor tersebut dialiri arus. Motor DC ini bekerja pada tegangan ± 6 Volt dengan arus yang besar. Karena itulah dalam mekanik robot dibuat driver untuk menyuplai tegangan ini. Untuk mengontrol keaktifan dari motor dc ini maka diperlukan satu pin kontrol. Dengan memberikan pulsa high 4.4 Perancangan Software 1. Penyusunan Program Langkah awal dalam perancangan program kerja robot dengan menggunakan bahasa C adalah menulis atau mendefinisikan header pendukung yang sudah disediakan oleh compilernya untuk menjalankan perintah-perintah tertentu serta mendefinisikan alamat memori dari Port , menulis variabel dan jenis variabel yang digunakan secara universal, dan mendefinisikan nama dari tiap Pin Port 1. Dalam Program robot ini digunakan header “stdio.h” yang digunakan untuk Program Studi : Teknik Informatika, STMIK Kaputama Binjai 31 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 fasilitas standart input/output. “reg8535.h” digunakan untuk menjalankan program yang berhubungan dengan register microcontroller AT Mega 8535 , dan “absacc.h” untuk menjalankan perintah yang berhubungan dengan accumulator. #include <mega8535.h> #include <delay.h> #define MAJU 0 #define MUNDUR 1 #define MOTOR_KIRI OCR1A #define MOTOR_KANAN OCR1B #define ARAH_KANAN PORTD.3 #define ARAH_KIRI PORTD.6 #define GO PINB.7 bit standby; signed char data; Karena AT Mega 8535 menggunakan Port maka dalam program harus dituliskan penempatan lokasi dari masing-masing Port . Sebelum melakukan operasi pada mode 0, maka harus dilakukan inisialisasi pada PPI (Programmable Peripheral Interface) PPI adalah suatu komponen paralel input atau paralel output port dalam suatu chip serbaguna yang dapat diprogram fungsi input / outputnya. dengan mengirimkan suatu Control Word. Setelah dilakukan inisialisasi pada mikrokontroler tersebut dapat ditentukan apakah Port A, Port B, Port C dapat berfungsi sebagai input maupun output kondisi ini sesuai dengan bitbit yang ada atau diisikan dalam Port Control Word. Ketika PPI mendapat sinyal reset, maka semua Port diset menjadi mode input. Dalam program robot ini, Port B sebagai Output Motor dc, dan Port C sebagai Output motor DC. Sehingga Port Control Word harus diisi dengan dinilai 90 Hexadesimal. 2. Program Kerja Motor Stepper Dalam robot ini Motor dc bergerak berdasarkan byte yang diberikan pada Port B. Pergerakan motor dc tiap step / langkahnya terjadi akibat pemberian tegangan pada salah satu pin motor dc. Untuk menghasilkan pergerakan yang berkesinambungan maka dari keempat pin motor dc harus diberi tegangan secara bergantian. Untuk menghasilkan arah perputaran motor dc berlawanan atau searah dengan perputaran arah jarum jam hanya diperlukan perubahan pemasukan nilai pada Port B di programnya. ISSN : 1979-6641 Table III.1 Nilai Logika Pada Pergerakan motor dc berlawanana arah jarum jam Step 1 Step 2 Step 3 Step 4 Pin 1 1 0 0 0 Pin 2 0 1 0 0 Pin 3 0 0 1 0 Pin 4 0 0 0 1 Tabel III.2 Nilai Logika Pada Pergerakan Motor dc Searah Putaran Jarum Jam Pin 1 Pin 2 Pin 3 Pin 4 Step 1 0 0 0 1 Step 2 0 0 1 0 Step 3 0 1 0 0 Step 4 1 0 0 0 Dalam robot ini pergerakan motor dc dirancang untuk bergerak dalam 4 (empat) kondisi utama yaitu : 1. Kondisi Diam Kondisi diam atau berhenti merupakan, kondisi yang di mana posisi robot di dalam keadaan siap untuk di berikan intruksi atau dalam keadaan robot telah selesai mengerjakan tugas yang telah di berikan dan ini kode programnya : void stop() { OCR1A=0; OCR1B=0;Kondisi Maju } 2. Kondisi Maju Untuk kondisi maju motor dc kanan harus berputar searah putaran jarum jam dan motor dc kiri harus berputar arah putaran jarum jam juga, dan ini kode programnya : void lurus() { OTOR_KANAN=250; ARAH_KANAN=MAJU; MOTOR_KIRI=300; ARAH_KIRI=MAJU; } 3. Kondisi Belok Kanan Kondisi belok kanan menggerakkan motor dc kekanan dan kiri berputar berlawanan arah putaran jarum jam. Cuplikan Programnya adalah sebagai berikut: void condong_kanan() { MOTOR_KANAN=250; Program Studi : Teknik Informatika, STMIK Kaputama Binjai 32 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 ARAH_KANAN=MAJU; MOTOR_KIRI=25; // 0 = stop ARAH_KIRI=MUNDUR; } 4. Kondisi Belok Kiri Kondisi belok kiri merupakan kebalikkan dari kondisi belok kanan dimana motor dc kanan dan kiri berputar searah putaran jarum jam. Kode progrmanya adalah : void condong_kiri() { MOTOR_KIRI=300; ARAH_KIRI=MAJU; MOTOR_KANAN=25; // 0 = stop ARAH_KANAN=MUNDUR; Kondisi belok kanan, dan belok kiri diharapkan motor dc dapat bergerak dengan sudut perubahan roda robot yang tidak terlalu kecil dan tidak terlalu besar. Karena dengan sudut yang kecil akan memperlambat gerak robot dan apabila dengan sudut yang terlalu besar akan menyebabkan robot bergerak yang terlepas dari pengendalian sensor. Disini penulis akan menjelaskan bagai mana proses implementasi dalam bentuk logika dan flowchart. Mulai Hidupan Sensor Sensor hidup ya tdk Membaca Garis Jalan Berputar-putar Hitam ya Jalan Mengikuti Garis Baterai Habis tdk ya Selesai Gambar 5 Flowchart Proses Implementasinya 5. Hasil dan Pembahasan 5.1 Implementasi ISSN : 1979-6641 1. Pembuatan PCB untuk mikrokontroler Tahap ini digunakan untuk membuat rangkaian pada mikrokontroler yang di mana PCB ini nantinya akan menghubungkan ke PCB-PCB di dalam robot line follower, Komponen yang terdapat pada rangkaian PCB mikrokontroler adalah: a. Atmega8535 gunanya adalah untuk menyimpan program pada robot b. Resistor gunanya untuk membatasin arus yang masuk ke rangkian c. Kapasitor gunanya untuk menyimpan muatan listrik d. Power suplay 5V Dc gunanya untuk menyimpan arus sebelum masuk kerangkaian e. Pinhead gunanya untuk menyatukan rangkaian-rangkaian ke PCB Mikrokontroler f. Led gunanya untuk menunjukan adanya arus yang masuk di dalam rangkaian g. Sekema rangkaian untuk PCB mikrokontroler h. Rangkaian jadi PCB mikrokontroler 2. Pembuatan PCB untuk sensor Tahap ini digunakan untuk membuat rangkaian pada sensor yang akan digunakan oleh robot line follower, dalam pembuatan PCB sensor ini penulis menggunakan pohotodioda dan Led sebagai sensor pembaca garis hitam, di mana cara kerjanya Led mengeluarkan cahaya Tidakdan photodioda menyerap pantulan, semakin kecil pantulan yang diterima robot akan berjalan mengikuti track namun apa bila semakin besar daya pantulannya maka robot akan berjalan berputarputar. Komponen yang terdapat pada rangkaian PCB sensor adalah: a. Led fungsinya adalah untuk memancarkan cahaya b. Photodioda fungsinya untuk menyerapa pantulan yang di keluarkan oleh Led c. Resistor gunanya untuk membatasin arus yang masuk ke rangkian d. IC LM339 fungsinya untuk membandingkan tegangan yang Program Studi : Teknik Informatika, STMIK Kaputama Binjai 33 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 masuk atau yang di terima high atau low oleh sensor e. Rangakai jadi PCB sensor dan kompalator 3 Pembuatan PCB untuk motor DC Tahap ini digunakan untuk membuat rankaian pada motor DC yang akan digunakan oleh robot untuk menjalankan roda. Komponen yang terdapat pada rangkaian PCB motor Dc adalah : a. Power Suplay 5V DC gunanya untuk menyimpan arus sebelum masuk kerangkaian b. Resistor gunanya untuk membatasin arus yang masuk ke rangkian c. Led pada rangakaian PCB motor DC ini adalah untuk menunjukan adanya arus listrik pada rangkain d. Kapasitor keramik gunanya untuk menyimpan muatan listrik 4. Menghubungkan semua PCB ke PCB mikrokontroler Setelah semua PCB telah di buat maka selanjutnya menghubungkan semua PCB tersebut ke PCB mikrokontroler, dengan mengunakan pin head yang ada di PCB-PCB tersebut. 5.2 Pengujian 1. Pengujian Pengukuran jarak Pengujian pembacaan garis warna hitam disini hanya mengacu pada pembacaan potodioda dengan dioda selang waktu antara sinyal dikirim dan sinyal diterima. Karena dalam pembuatan robot ini nilai jarak tidak ditampilkan dan pembacaan jalur warna hitam hanya digunakan untuk mengetahui deteksi warna hitam sebagai jalur berjalan bagi robot line follower tanpa mengetahui nilai jaraknya yang lain. Bila tidak ada jalur hitam, maka robot line follower berbalik putar dan kembali ke jalur hitam lagi. Maka program yang dirancang hanya menggunakan pencacah hitungan yang selang waktunya sama. Semakin besar nilai pencacahnya maka akan diketahui bahwa jalur hitam sebagai tempat bergerak roda, demikian bila semakin kecil nilai pencacahnya maka akan ISSN : 1979-6641 diketahui bahwa jalur atau track tidak terbaca oleh robot. Apabila jalur track yang telah dibatasi pada pendeteksian ini maka receiver akan menerima nilai yang akan sama dengan nilai dimana tidak ada halangan. Maka setiap kali ada garis hitam pada track atau jalur dari masingmasing sensor program akan menginterrupt. Seperti pada gambar 6. Gambar 6 Sinyal Keluaran fototransistor Nilai pencacah akan dimasukkan dalam variabel tertentu yang dalam langkah program selanjutnya akan dimasukkan pada variabel sensor . Dalam program ditulis EX0 = 0 dan EX0 = 1 difungsikan untuk menghidupkan dan mematikan interrupt. Penulisan ini bertujuan agar dalam kondisi tertentu apabila terdapat sinyal yang menyebabkan interrupt, jalannya program tidak berpengaruh sama sekali. Interrupt terjadi apabila terjadi kondisi low dari kondisi awal high pada sinyal yang masuk ke pin INT0. Bentuk sinyal yang menyebabkan terjadinya interrupt digambarkan pada gambar 7. Voltage Sinyal Interrupt High Low Time Gambar 7 Sinyal Interrupt 2. Pengujian Motor DC Penggerak Roda Berdasarkan pemberian nilai byte pada Port B, dapat dihasilkan perputaran motor dc yang sesuai dengan keinginan guna menggerakkan robot berdasar inputan yang Program Studi : Teknik Informatika, STMIK Kaputama Binjai 34 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 diterimanya. Gerakan motor dirancang pada posisi mengikuti gerakan sensor baca garis hitam. Artinya dikarenakan pergerakan robot menurut track garis hitam dan tidak menggunakan panduan, maka robot dibuat maju selangkah kemudian berputar kekiri dan kekanan menurut track garis hitam. Setelah tidak ketemu garis hitam, maka robot line follower akan berputar, jika dia berputar dan menemukan garis hitam dia akan kembali mengikuti garis hitam, robot line follower akan berhenti apa bila menemukan persimpangan sesuai dengan program yang penulis buat. Dan untuk menjalankannya lagi penulis membuat tombol khusus, tumbol tersebut dapat dilihat pada gambar di bawah ini. 3. Pengujian Robot Pembaca Garis Hitam Ketika sensor tidak mendetaksi adanya track garis hitam, maka robot line follower akan berputar-putar. Namun jika sensor mendeteksi adanya track garis hitam, maka robot line follower akan bergerak maju sesuai jalur yang ditentukan dengan garis hitam. Diketahui garis hitam tersebut diperoleh dari sinyal photodioda yang dipantulkan oleh LED. Setelah lampu nyala pada robot , maka robot mulai bergerak dengan membaca track garis hitam dan melakukan pendeteksian track hitam sampai kondisi track hitam tidak putus. 4. Pengujian Program Robot Robot mulai bekerja ketika rangkaian dan microkontroller di suplay tegangan atau dengan mereset microkontroller. Ketika robot mulai bekerja, robot akan berjalan maju dan bergerak sesuai dengan kondisi sensor yang dituliskan dalam program. Dari hasil pengujian program robot ini dapat diketahui bahwa Robot berjalan sangat lambat, hal ini dipengaruhi oleh kerja dari motor dc sangat kecil dayanya , serta waktu yang dibutuhkan terhadap track pada setiap kali pergerak robot. Pergerakan motor dc dipengaruhi oleh tegangan suplay motor dc dan waktu delay program. Waktu yang dibutuhkan robot dalam bergerak dengan tegangan suplay ke motor dc 6 volt. Berikut ini adalah contoh listing dan penjelasannya. include <mega8535.h> #include <delay.h> a. Program di atas untuk memanggil library dari IC AT Mega 8535 dan delay (penundaan waktu) ISSN : 1979-6641 b. c. d. e. f. g. #define MAJU 0 #define MUNDUR 1 #define MOTOR_KIRI OCR1A #define MOTOR_KANAN OCR1B #define ARAH_KANAN PORTD.3 #define ARAH_KIRI PORTD.6 #define GO PINB.7 Program di atas untuk mengenalkan fungsi-fungsi output untuk driver bit standby; signed char data; Mengenalkan variable yang digunakan dalam pemrograman. void lurus() { MOTOR_KANAN=25 0; ARAH_KANAN=MAJU; MOTOR_KIRI=300; ARAH_KIRI=MAJU; } Fungsi Robot bergerak maju void condong_kanan() { MOTOR_KANAN=250; ARAH_KANAN=MAJU; MOTOR_KIRI=25; // 0 = stop ARAH_KIRI=MUNDUR; } Fungsi Robot belok Kanan void condong_kiri() { MOTOR_KIRI=300; ARAH_KIRI=MAJU; MOTOR_KANAN=25; // 0 = stop ARAH_KANAN=MUNDUR; } Fungsi Robot belok Kiri void stop() { OCR1A=0; OCR1B=0;Kondisi Maju } Fungsi Robot Untuk Berhenti 5.3 Hasil Jadi Bentuk Rancangan Robot Pembaca Garis Hitam Ada pun hasil rancangan robot yang penulis buat dapat dilihat pada gambar berikut ini: Program Studi : Teknik Informatika, STMIK Kaputama Binjai 35 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 ISSN : 1979-6641 2. Gambar 8 Robot line follower berbelok kiri Gambar 9 Robot Pembaca Garis Hitam berbelok kanan Gambar 10 Robot Pembaca Garis Hitam Berhenti Gambar 11 Robot Pembaca Garis Hitam Mengikuti Garis 6. Kesimpulan dan Saran 6.1 Kesimpulan Dari pengujian dan analisa serta fakta yang telah di uraikan pada bab-bab terdahulu, maka penulis mengambil suatu kesimpulan sebagai berikut : 1. Dengan merancang sebuah robot pembaca garis hitam sebagai alat peraga, kita dapat memahami dasar pengendali robot. Dengan jadinya sebuah Robot Line Follower ini, kita dapat memahami bagai mana membuat sebuah robot yang sederhana. 3. Setelah kita memahami bagai mana kerja robot kita dapat mengembangkannya mejadi robot yang mampu membantu manuasia didalam melaksanakan pekerjaan. 5.1 Saran Penulis sangat sadar bahwa apa yang penulis buat sangat jauh dari hal yang sempurna namun penulis berharap kepada pembaca dapat memberikan saran dan masukan yang membantu penulis dalam perbaikan Penelitian ini. Disini penulis memberikan saran kepada pembaca : 1. Pencarian garis warna hitam pada perancangan robot pembaca garis hitam ini berdasarkan pada kemampuan sensor membaca garis hitam tersebut selama mendeteksi garis hitam. Sehingga gerakan robot line follower tergantung pada garis hitam. Oleh karena itu perlu adanya pengembangan robot pembaca garis hitam dapat merespon cepat untuk mengetahui perubahan warna garis hitam dengan tepat. 2. Software robot line follower dalam penelitian ini dapat dikembangkan untuk aplikasi robot yang lain yang ingin mengembangankannya. Seperti Robot Pemadam Api,Robot pembaca jarak, dll 3. Robot yang penulis buat masih memiliki kekurangan didalam pergerakan melewati beberapa sudut dan tidak dapat mencari tracknya sendiri diharapkan dapat dikembangkan kembali untuk mampu melewati sudut dan mencari tracknya sendiri di saaat robot ini keluar dari tracknya. DAFTAR PUSTAKA [1] Hartati Sri dan Sari Iswanti, Sistem Pakar dan Pengembangannya. Cetakan Pertama, Graha Ilmu, Yogyakarta, 2008. [2] Kusmadewi Sri, Artificial Intelligence, Graha Ilmu, Edisi Pertama, Cetakan Pertama, Yogyakarta, 2003. Program Studi : Teknik Informatika, STMIK Kaputama Binjai 36 Jurnal KAPUTAMA, Vol.7 No.2, Januari 2014 ISSN : 1979-6641 [3] Pranata, Antony. 2005. Algoritma dan Pemrograman. Yoyakarta: Graha Ilmu. [4] Pressman, Roger S. 2002. Rekayasa Perangkat Lunak. Pendekatan Praktisi (Buku Satu). Yogyakarta: Andi. [5[ Turban, Efraim; Aronson, Jay; Liang, Ting-Peng.2005.Decision Support Systems and Intelligent Systems (Sistem pendukung keputusan dan sistem cerdas). Yogyakarta: Andi. [6] http:// jurnalteknik.janabadra.ac.id/ wpcontent/ uploads/ 2012/01/ Bu_fitri_09-2.pdf [7] http://www.php.net [8] http://www.ilmu.komputer.com [9] http://www.forumblackberry.com Program Studi : Teknik Informatika, STMIK Kaputama Binjai 37