ROBOT PENGHINDAR HALANGAN DENGAN MIKROKONTROLER AT89C51.

(1)

SKRIPSI

Oleh :

FREGHA HARYANSYAH

0534010073

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR


(2)

limpahan rahmat-Nya sehingga penulis bisa menyelesaikan pembuatan Tugas Akhir ini dengan judul “ROBOT PENGHINDAR HALANGAN DENGAN MIKROKONTROLER AT89C51”.

Tujuan dari pembuatan Tugas Akhir ini adalah sebagai salah satu syarat untuk menyelesaikan program studi Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “VETERAN” Jawa Timur.

Dalam menyelesaikan Tugas Akhir ini penulis menyadari telah banyak mendapatkan bantuan dari berbagai pihak, baik bantuan dari segi moril, materiil maupun spiritual. Oleh karena itu pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Allah SWT atas segala limpahan Karunia, Rahmat, dan Perlindungan – Nya 2. Kedua orang tua dan anggota keluarga kami tercinta, Terima kasih atas segala

doa dan kepercayaannya. Penulis telah membuktikan tanggung jawabnya dengan penyelesaian tugas akhir ini

3. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya.

4. Bapak Basuki Rahmat, S.Si, MT selaku Ketua Jurusan Teknik Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya tahun angkatan 2008 – 2009 . Beliau ini sekaligus menjadi dosen pembimbing I penulis yang sangat penulis banggakan. Karena beliau, arahan dan motifasinya saat membimbing akhirnya penulis dapat menyelesaikan Tugas Akhir ini


(3)

sehingga penulis dapat menyelesaikan Tugas Akhir ini.

6. Bapak Delta Ardy Prima, S.ST selaku dosen penguji sidang TA yang telah memberi sanggahan atau masukan bersifat membangun bagi penulis sehingga penulis dapat menyelesaikan Tugas Akhir ini.

7. Bapak I Geda Susrama Md, S.T, M.Kom selaku dosen penguji saat Sidang LESAN yang telah memberi masukan kepada penulis sehingga penulis dapat menyelesaikan Tugas Akhir ini.

8. Bapak Bapak Moh. Irwan Afandi, ST, Msc selaku dosen penguji saat Sidang LESAN yang telah memberi masukan kepada penulis sehingga penulis dapat menyelesaikan Tugas Akhir ini.

9. Teman – teman penulis dari Teknik Informatika, khususnya KELAS B

angkatan tahun 2005.Teman – teman penulis lainnya tanpa terkecuali yang tidak mungkin penulis sebutkan namanya satu per satu, terima kasih telah membantu dan memberikan do’anya kepada penulis untuk menyelesaikan Tugas Akhir ini.

10.Adi pria yang telah banyak membantu dalam pembuatan tugas akhir ini 11.Teman – teman kemlaten, terima kasih atas segala masukannya.


(4)

iv

Penulis menyadari bahwa Penulisan Tugas Akhir ini masih memiliki banyak kekurangan dan jauh dari kata sempurna. Hal ini tidak lain karena keterbatasan materi dan pengetahuan yang dimiliki penulis. Oleh karena itu kritik dan saran sangat kami harapkan demi kesempurnaan penyusunan laporan Tugas Akhir ini.

Akhir kata, penyusun mengharapkan semoga yang apa yang tertuang dalam laporan Tugas Akhir ini dapat bermanfaat bagi rekan-rekan mahasiswa khususnya dan bagi seluruh pembaca pada umumnya.

Surabaya, 17 November 2010


(5)

DAFTARISI... iii

DAFTARGAMBAR...vi

DAFTARTABEL... viii

BAB I PENDAHULUAN 1.1. Latar Belakang ...1

1.2. Perumusan Permasalahan...2

1.3. Batasan Permasalahan...3

1.4. Tujuan ...3

1.5. Manfaat ...4

1.6. Metodologi Penelitian ...4

1.7. Sistematika Pembahasan ...5

BAB II TINJAUAN PUSTAKA 2.1. Mikrokontroler AT89C51 ...7

2.1.1. Pin – Pin Mikrokontroer AT89C51 ...7

2.1.2. Pemisahan Memori Program dan Memori Data ...10

2.1.3. Port Input / Output ...11

2.1.4. Timer / Counter...12

2.1.5. SIstem Interupsi ...14

2.1.6. Instruksi Dasar ...14

2.2. Motor DC ...19

2.2.1 Dasar – dasar Motor DC ...20

2.2.2 Jenis – jenis Motor DC ...21

2.3. Sensor Ultrasonik Ping Parallax ...22


(6)

3.3.1. Perancangan Kerangka Robot...28

3.3.2. Rangkaian Mikrokontroler AT89C51...30

3.3.3. Rangkaian AT89C51 Dengan Sensor Ultrasonik ...31

3.3.4. Driver Motor DC...32

3.3.5. Rangkaian Keseluruhan ...33

3.3.6. Perancangan Arena Robot...34

3.4. Perancangan Perangkat Lunak ...34

3.4.1. Perancangan SoftwareDriver Motor ...34

3.4.2 Perancangan Software Sensor Ultrasonik ...35

BAB IV IMPLEMENTASI...40

4.1. Implementasi Perangkat keras ...40

4.1.1. Kerangka Robot ...40

4.1.2. Rangkaian Mikrokontroler AT89C51...42

4.1.3. Rangkaian Driver Motor...43

4.1.4. Rangkaian Sensor Ultrasonik...43

4.1.5. Hardware EDT Programmer...44

4.1.6. Arena robot ...45

4.2. Implementasi Perangkat Lunak...46

4.2.1 Mikrokontroler AT89C51 ...46

4.2.1.1. Keil C51 ...46

4.2.1.2 EDT Programmer Software...48

4.2.1.3 Pemrograman Driver Motor ...49

4.2.1.4 Pemrograman Sensor Ultrasonik ...51

BAB V UJICOBA DAN ANALISA...54

5.1. Ujicoba ...54

5.1.1. Uji Coba Driver Motor...54 iv


(7)

5.2.2 Analisa Robot Berdasarkan Posisi Arena ...59

5.2.3 Analisa Robot Berdasarkan Sudurt Halangan...60

5.2.4 Analisa Pola Perbelokan Robot ...62

BAB VI KESIMPULAN DAN SARAN...65

6.1. Kesimpulan ...65

6.2. Saran ...66

DAFTAR PUSTAKA...67

LAMPIRAN...68


(8)

Gambar 2.3. Sensor Ultrasonik Ping Parallax ...21

Gambar 2.4. Prinsip Kerja Sensor Ultrasonik...22

Gambar 3.1. Perancangan Kerangka Robot Tampak Bawah...29

Gambar 3.2. Perancangan Kerangka Robot Tampak Samping...29

Gambar 3.3. Skema Rangkaian Mikrokontroler AT89C51 ...30

Gambar 3.4. Skema Rangkaian AT89C51 dengan Sensor Ultrasonik ...31

Gambar 3.5. Skema Rangkaian Driver motor DC ...32

Gambar 3.6. Rangkaian Keseluruhan Robot Penghindar Halangan ...33

Gambar 3.7. Perancangan Arena...34

Gambar 3.8. Digram Alir Perancangan Test Gerak Robot ...35

Gambar 3.9. Flowchart Sensor Depan...36

Gambar 3.10. Flowchart Sensor Kanan...36

Gambar 3.11. Flowchart Sensor Kiri...37

Gambar 4.1 . Kerangka Robot Tampak Depan...40

Gambar 4.2. Kerangka Robot Tampak Atas ...41

Gambar 4.3. Kerangka Robot Tampak Bawah ...41

Gambar 4.4. Penghubungan Motor Dc Ke Roda ...41

Gambar 4.5. Rangkaian Mikrokontroler ...42

Gambar 4.6. Rangkaian Driver Motor ...43

Gambar 4.7. Rangkaian Mikrokontroller Dengan Sensor Ultrasonik...44

Gambar 4.8. EDT Programmer hardware...45

Gambar 4.9. Arena Robot ...45

Gambar 4.10. Tampilan Keil C51...47

Gambar 4.11. EDT programmer software...48

Gambar 5.1. Pengujian driver motor ...54

Gambar 5.2. Pengujian Sensor Ultrasonik Manual...56

Gambar 5.3. Uji Coba Robot ...57

Gambar 5.4. Uji Coba Pada Marmer ...59 vi


(9)

Gambar 5.9. Sudut Halangan 700...61

Gambar 5.10. Sudut Halangan 800...61

Gambar 5.11. Sudut Halangan 900...61

Gambar 5.12. Sudut Halangan 1000...62

Gambar 5.13. Sudut Halangan 1100...62


(10)

viii

Tabel 5.3. Uji Coba Robot Berdasarkan Kondisi Lantai ...58

Tabel 5.4. Uji Coba Robot Berdasarkan Kondisi Lantai ...60

Tabel 5.5. Uji Coba Robot Berdasarkan Sudut Halangan...61


(11)

pindah tempat dari tempat satu ke tempat yang lain. Hal ini menginspirasi pembuatan prototype robot penghindar halangan yang dapat berjalan terus menerus untuk menghindari halangan. Prototype robot penghindar halangan ini termasuk jenis mobile robot yang memiliki fungsi menyerupai makhluk hidup yang dapat berpindah tempat tanpa membentur halangan.

Prototype robot penghindar halangan ini dilengkapi motor DC gearbox

sebagai penggerak robot dan sensor ultrasonik yang berfungsi sebagai kemudi robot untuk menghindari halangan. Kontrol utama robot penghindar halangan adalah mikrokontroler yang berfungsi mengatur kinerja dari sensor ultrasonik dan motor DC, pada saat catu daya robot dihidupkan mikrokontroler akan memerintahkan sensor ultrasonik untuk memancarkan sinyal ultrasonik yang berfungsi mendeteksi halangan disekitar robot sehingga pada saat sensor ultrasonik mengirim data pada mikrokontroler, fungsi dari motor DC akan dieksekusi oleh mikrokontroler, agar robot dapat berjalan sesuai data yang dikirim oleh sensor ultrasonik ke mikrokontroler, sehingga robot penghindar halangan dapat berjalan secara terus-menerus tanpa menabrak halangan yang ada di sekitar robot.

Dari hasil pengujian, robot penghindar halangan dapat menjelajah arena dan dapat menghindari halangan dengan baik jika kondisi lantai tidak licin dan pantulan sinyal ultrasonik yang dipancarkan oleh sensor ultrasonik dapat diterima kembali oleh sensor ultrasonik dengan sudut halangan tertentu.

Kata Kunci : sensor ultrasonik, mikrokontroller, motor DC gearbox


(12)

1.1 Latar Belakang

Seiring dengan berkembangnya teknologi pada saat ini, kita dihadapkan pada sesuatu yang dapat membuat daya kreaktivitas kita semakin meningkat. Untuk mengembangkan kreaktivitas tersebut saya mencoba membuat suatu rancangan prototype robot penghindar halangan.

Robot penghindar halangan adalah sejenis robot yang didesain untuk mendeteksi adanya halangan di sekitar. Tugas robot berjalan secara terus menerus tanpa membentur suatu halangan dan dapat mencari jalan keluar apabila robot menemui jalan buntu. Sehingga Robot penghindar halangan dapat dikatakan sebagai robot penjelajah. Robot penghindar halangan termasuk jenis mobile robot yang menyerupai fungsi makhluk hidup yang dapat berpindah.

Konstruksi Robot penghindar halangan ini digerakkan oleh dua penggerak. Penggerak menyebabkan gerakan maju atau mundur, sedangkan arah pergerakan dipengaruhi oleh kombinasi arah putar kedua penggerak. Kedua penggerak motor yang bekerja secara diferensial, tidak diperlukan suatu kemudi.

Sebagai kemudi robot penghindar halangan, saya menggunakan sensor ultrasonik. Sedangkan kontrol robot atas sensor ultrasonik dan penggerak motor dibutuhkan mikrokontroler yang berfungsi menerima data dari sensor ultrasonik sehingga mikrokontroler dapat menggerakkan motor sesuai data yang diterima dari sensor ultrasonik Dengan adanya sensor ultrasonik dan penggerak motor,


(13)

maka robot dapat berjalan tanpa membentur halangan. Agar fungsi robot untuk menghindari halangan tercapai, maka dibuatlah sebuah arena sebagai simulasi jalur robot untuk menghindari halangan.

1.2 Perumusan Permasalahan

Pada tugas akhir ini perumusan masalahnya membahas mengenai robot penghindar halangan yang berada di depan, maupun di samping kiri dan kanan robot. dibawah ini adalah beberapa perumusan masalah dari robot penghindar halangan :

1. Membuat perangkat lunak yang mampu mengontrol pergerakan robot untuk menghindari halangan secara otomatis.

2. Membuat komunikasi data serial sehingga dapat menyalurkan informasi yang telah diolah oleh software dari komputer ke mikrokontroller

3. Bagaimana robot dapat mengetahui halangan yang ada di depan, samping kanan, maupun samping kiri sehingga robot dapat menghindarinya.

4. Bagaimana robot dalam melakukan kinerja berupa gerakan : maju, belok kanan, dan belok kiri setelah mendeteksi adanya halangan.

1.3 Batasan Permasalahan

Dalam menganalisa robot penghindar halangan ini, perlu diberikan pembatasan atau ruang lingkup pembahasan untuk mempermudah dalam


(14)

pemecahan serta pembahasannya. Adapun batasan – batasannya adalah sebagai berikut :

1. Robot menggunakan motor DC gearbox. 2. Menggunakan IC L298 untuk driver motor.

3. Sensor ultrasonik yang digunakan adalah buatan Ping parallax. 4. Menggunakan bahasa pemrograman C ++.

5. Mikrokontroller yang digunakan adalah AT89C51

1.4 Tujuan

Adapun tujuan dilaksanakan perancangan tugas akhir ini adalah :

Membuat sistem yang dapat mengidentifikasi suatu halangan yang berada di depan, samping kanan, maupun samping kiri robot sehingga didapatkan respon untuk menghindarinya.

1.5 Manfaat

Manfaat dari penelitian :

1. Untuk pengembangan prototype robot pendeteksi titik api. 2. Untuk pengembangan prototype robot pemadam api.

1.6. Metodologi Penelitian

Metode penelitian yang digunakan dalam pembuatan sistem mikrokontroler ini percobaan langsung jika gagal coba lagi atau trayer error


(15)

1. Study literatur, metode pengumpulan data yang diperoleh dari buku-buku yang tersedia serta dari browsing melalui internet.

2. Perencanaan alat, metode dalam perencanaan alat yang akan dibuat. 3. Pembuatan kerangka robot.

4. Pembuataan rangkain elektronika robot.

5. Pembuatan software, metode pembuatan software yang akan ditanam dalam sistem mikrokontroler.

6. Pengujian alat dan analisa alat, metode ini untuk menguji alat yang telah dibuat serta hasil analisa terhadap data hasil pengujian.

7. Kesimpulan, metode dalam mengambil kesimpulan dari hasil pengujian dan analisa data pada sistem.

8. Penyusunan buku laporan, metode dalam pengambilan laporan berdasarkan serangkaian kegiatan yang telah dilakukan dalam penyelesaian tugas akhir.

1.7. SISTEMATIKA PEMBAHASAN

Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:


(16)

BAB I : PENDAHULUAN

Bab ini menjelaskan tentang latar belakang, perumusan dan pembatasan masalah, tujuan dan manfaat, serta metodologi dan sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Bab ini menjelaskan tentang mengenai teori – teori, yang digunakan dalam perancangan dan pembuatan alat serta pendapat - pendapat tentang sistem yang dibangun serta mengenai prinsip kerja dari komponen yang digunakan..

BAB III : PERANCANGAN

Pada bab ini membahas mengenai apa saja yang perlu dianalisa untuk kebutuhan sistem meliputi : kebutuhan data, kebutuhan proses, perancanangan sistem berbasis mikrokontroler AT89C51, komunikasi sensor ultrasonik ping parallax, serta analisa dan desain sistem yang telah dibuat sebelumnya dan kebutuhan hardware dan software

BAB IV : IMPLEMENTASI

Bab ini menjelaskan tentang implementasi dari pembuatan perancangan robot penghindar halangan.

BAB V : UJI COBA

Bab ini berisi tentang pengujian driver motor, sensor ultrasonik serta uji coba robot yang telah dibuat.


(17)

BAB VI : KESIMPULAN

Bab ini berisi tentang kesimpulan dan saran yang mungkin dapat bermanfaat bagi perbaikan dan perencanaan robot yang lebih lanjut.


(18)

Dalam pembuatan robot penghindar halangan ini adalah memerlukan mikrokontroler AT89C51 sebagai pengatur jalannya robot, motor dc sebagai penggerak robot., sensor ultrasonik sebagai petunjuk halangan dan driver motor pengatur kecepatan, serta akumulator sebagai sumber tegangan.

2.1 Mikrokontroler AT89C51

Mikrokontroler AT89C51 adalah sebuah mikrokontroler buatan ATMEL [3]. Mikrokontroler ini mempunyai 40 pin 4 port dan masih termasuk dalam keluarga mikrokontroler MCS-51 yaitu merupakan versi yang dilengkapi dengan ROM (Internal) yaitu berupa EEPROM. Mikrokontroler AT89C51 adalah low power high performance CMOS 8 bit, 4 Kbyte flash Programmable and Eresable Read Only Memory (PEROM). IC mikrokontroler ini kompatible dengan standar MCS-51 baik dari instruksi maupun pin-pinnya yang dapat diaplikasikan sebagai Embedded Controller.

2.1.1 Pin-Pin Mikrokontroler AT89C51

Susunan pin-pin mikrokontroler AT89C51 seperti Gambar 2.1 dapat dijelaskan sebagai berikut :


(19)

• Pin 1 sampai 8 adalah Port 1 : Merupakan Port paralel 8 bit data dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).

• Pin 9 (RESET) : Masukan reset aktif tinggi. Pulsa transisi dari rendah ke tinggi akan mereset AT98C51. Pin ini dihubungkan dengan rangkaian power on reset yang terdiri dari sebuah kapasitor dan sebuah resistor yang berfungsi sebagai pembangkit frekuensi.

• Pin 10 sampai 17 adalah Port 3 : Port paralel 8 bit dua arah yang memiliki fungsi pengganti. Fungsi pengganti meliputi TxD (Transmite Data), RxD (Receiver Data), Int 0 (Interrupt 0), Int 1 (Interrupt 1), T0 (Timer 0), T1 (Timer 1), WR (Write), dan RD (Read). Bila fungsi pengganti tidak dipakai, pin-pin ini dapat digunakan sebagai port paralel 8 bit serba guna.

• Pin 18 (XTAL 1) : Pin masukan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator luar dapat digunakan.

• Pin 19 (XTAL 2) : Pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila menggunakan osilator kristal.

• Pin 20 (GROUND) : Dihubungkan ke Vss atau ground.

• Pin 21 sampai 28 adalah Port 2 : : Merupakan Port paralel 8 bit data dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).

• Port paralel 2 (P2) selebar 8 bit dua arah (bidirectional). Port 0 ini mengirimkan byte alamat bila dilakukan pengaksesan memory eksternal.


(20)

• Pin 29 : Pin PSEN (Program Store Enable) yang merupakan sinyal pengontrol yang membolehkan program memory eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi (Fetching). • Pin 30 : Pin ALE (Address Latch Enable) yang digunakan untuk menahan alamat memory eksternal selama pelaksanaan instruksi.

• Pin 31 (EA) : Bila pin ini diberi logika tinggi (H), mikrokontroler akan melaksanakan instrusi dari ROM / EPROM ketika isi program counter kurang dari 4096. Bila diberi logika rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program luar.

• Pin 32 sampai 39 adalah Port 0 : Merupakan port paralel 8 bit (open drain) dua arah. Bila digunakan untuk mengakses program luar, port ini akan memultipleks alamat memori dengan data.

• Pin 40 : Merupakan Vcc yang dihubungkan ke tegangan positif.


(21)

2.1.2 Pemisahan Memori Program dan Memori Data

Mikrokontroler AT89C51 memiliki ruang alamat memori data dan program yang terpisah. Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8-bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8-bit. Namun demikian, alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR. Memori program hanya bisa dibaca saja. Terdapat memori program yang bisa di akses langsung hingga 64 Kbyte. Sedangkan strobe untuk akses program memori eksternal melalui sinyal PSEN atau Program Store Enable. Memori data menempati suatu ruang alamat yang terpisah dari memori program. Memori eksternal dapat di akses secara langsung hingga 64 Kbyte dalam ruang memori data eksternal. CPU akan memberikan sinyal baca dan tulis, RD dan WR, selama pengaksesan memori data eksternal. Memori data eksternal dan memori program eksternal dapat dikombinasikan dengan cara menggabungkan sinyal RD dan PSEN melalui gerbang AND dan keluarannya sebagai tanda baca ke memori data/program eksternal.

a. Memori Program

Memori program atau ROM (Read Only Memory) adalah tempat menyimpan data yang permanen. Memori bersifat non-volatile artinya tanpa dicatu, data-data tidak akan hilang. Memori program hanya dapat dibaca saja. Setelah direset maka eksekusi dimulai dari alamat 0000H. Setiap interupsi memiliki lokasi tetap dalam program. Interupsi menyebabkan


(22)

CPU melompat kelokasi tersebut dimana pada lokasi tersebut terdapat subrutin yang harus dikerjakan.

b. Memori Data

Memori data atau RAM (Random Acces Memory) adalah tempat menyimpan data yang bersifat sementara. Maka memori bersifat volatile yaitu data akan hilang bila catu daya ditiadakan. Pada memori data dapat dilakukan pembacaan maupun penulisan data. Ruang memori terlihat dalam 3 blok, yang disebut sebagai lower 128, upper 128 ruang SFR (Special Function Register). Internal memori data dialamati dengan lebar 1 byte. Lower 128 (alamat 00H-7FH) terdapat pada semua anggota keluarga MCS51.

2.1.3 Port Input / Output

Satu chip mikrokontroler ini memiliki 32 jalur port yang dibagi menjadi 4 buah port 8 bit. Masing-masing port ini bersifat bidirectional sehingga dapat digunakan sebagai input atau output . Pada bok diagram AT89C51 dapat dilihat latch tiap bit pada keempat port : port 0, port 1, port 2, port 3. Masing-masing jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port 2 dapat digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data, sedangkan port 2 sebagai saluran data dan alamat sekaligus yang dimultipleks. Untuk mengakses memory eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal yang dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port


(23)

2 mengeluarkan bagian atas memory eksternal sehingga total alamat semuanya 16 bit.

Khusus untuk port 3 mempunyai fungsi yang lain diluar sebagai port. Fungsi ini akan berbeda untuk tiap-tiap kaki dengan urutan sebagi berikut :

- Port 3.0 : port input serial, RXD. - Port 3.1 : port output serial, TXD.

- Port 3.2 : input interupsi eksternal, INT0. - Port 3.3 : input interupsi internal, INT1.

- Port 3.4 : input eksternal untuk timer /counter 0, T0. - Port 3.5 : input eksternal untuk timer /counter 1, T1. - Port 3.6 : sinyal tulis memori eksternal, WR.

- Port 3.7 : sinyal baca memori eksternal, RD.

Penggunaan port 3 dapat dialamati langsung sebagai kontrol langsung pada suatu tugas yang dilakukan oleh fungsi yang dimiliki oleh port ini.

2.1.4 Timer / Counter

Satu chip mikrokontroler ini memilik dua timer yang dapat dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi register timer ditambah 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi register akan bertambah 1 setiap ada transisi sinyal pada pin input eksternal. Pada pemanfaatan sebagai counter, sinyal input yang dimaksudkan dapat berupa low level atau falling edge trigger. Counter akan mencacah setiap masukan yang ada sesuai inisialisasi harga awal dari counter


(24)

pada nilai hitungan untuk tiap sampling. Inisialisasi harga awal ini berupa nilai preset negatif counter yang diatur sebelum counter dijalankan.

Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi awal berupa konstanta waktu yang menentukan sampai berapa lama akan terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi clock dari sistem penentu waktu sampling dari counter untuk mencacah suatu pulsa masukan dari luar dengan memanfaatkan kontrol interupsi yang ada serta pengaturan program. Sebagai tambahan pada pemilihan counter/timer, timer 0 dan timer 1 mempunyai 4 buah modul yang dapat dipilih dengan menentukan pasangan bit M0 dan M1 pada register TMOD. Untuk pemilihan timer/counter dikontrol dengan bit C/T di TMOD.

• Mode 0 : Pada mode ini timer register dikonfigurasikan sebagai register 13 bit. Ke-13 bit register tersebut terdiri dari 8 bit TH1 dan 5 bit TL1. Selama perhitungan roll over dari semua 1 ke semua 0, TF1 (Timer Interrupt Flag) di set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.

• Mode 1 : Mode 1 adalah timer register 16 bit dan dapat generator boudrate. Operasi mode 1 sama dengan mode 0.

• Mode 2 : Mode 2 adalah timer register dengan konfigurasi 8 bit counter (TL1) auto reload. Overflow dari TL1 tidak hanya menset TF1 tapi juga me-reload TL1 dengan isi TH1. Setelah me-reload isi TH1 tidak akan berubah. Operasi mode ini juga sama dengan timer/counter 0.


(25)

• Mode 3 : Pada mode ini timer 1 tidak akan bekerja. Sedangkan timer 0 menjadi 2 counter yang terpisah. TL0 digunakan sebagai bit kontrol untuk timer 0; C/T, GATE, TR0, INT0, dan TF0 seolah-olah mengontrol timer 1.

2.1.5 Sistem Interupsi

Mikrokontroler AT89C51 mempunyai 5 sumber interupsi. Dua sumber merupakan sumber eksternal INT0 dan INT1. Kedua interupsi eksternal dapat aktif level atau aktif transisi tergantung isi IT0 dan IT1 pada regiter TCON. Interupsi timer dan imer 1 aktif pada saat timer yang sesuai mengalami roll over. Interupsi serial dibangkitkan dengan melakukan operasi OR dan R1 dan T1. Tiap-tiap sumber interupsi dapat enable atau disable secara software.

Tingkat prioritas semua sumber interupsi dapat diprogram sendiri-sendiri dengan set atau clear bit pada SFRs IP (Special Function Register’s Interrupt Priority). Interupsi tingkat rendah dapat diinterupsi oleh interupsi yang mempunyai tingkat lebih tinggi, tetapi tidak sebaliknya. Walaupun demikian interupsi yang mempunyai tingkat lebih tinggi tidak bisa menginterupsi sumber interupsi yang lain.

2.1.6 Instruksi Dasar

Perangkat lunak adalah seperangkat instruksi yang disusun menjadi sebuah program untuk memerintah komputer melakukan suatu pekerjaan. Sebuah instruksi selalu berisi kode pengoperasian (Op-Code), kode pengoperasian inilah yang disebut bahasa mesin yang dapat dimengerti oleh mikrokomputer.


(26)

Instruksi-instruksi yang digunakan dalam memprogram suatu program yang diisikan pada IC AT89C51 adalah instruksi pemrograman bahasa assembler atau sama dengan instruksi pemrograman pada IC mikrokontroler 8031 dalam MCS-51.

a. Instruksi Transfer Data (Perintah Pemindahan Data)

Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut : 1. Transfer data utama (General Purpose Transfer), yaitu : MOV, PUSH, dan POP.

2. Transfer spesifik akumulator (Akumulator Specifik Transfer), yaitu : XCH, XCDH, dan MOVC.

Instruksi transfer data adalah instruksi pemindahan atau perukaran antara operand sumber dengan operand tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu memori.

Deskripsi instruksi transfer data tersebut dijelaskan dibawah ini : • MOV : Transfer byte dari operand sumber ke operand tujuan.

• PUSH : Transfer byte dari operand sumber ke suatu lokasi dalam stack yang ditunjuk oleh register penunjuk (Stack Pointer).

• POP : Transfer byte dari dalam stack ke operand tujuan.

• XCH : Pertukaran data antara operand akumulator dengan operand sumber.


(27)

b. Instruksi Aritmatik (Instruksi Perhitungan)

Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian, dan pembagian dimiliki oleh AT89C51 dengan menemonic tersebut dijelaskan sebagai berikut :

• INC : Menambah suatu isi sumber operand dan menyimpan hasilnya ke operand tersebut.

• ADD : Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator.

• ADD : Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator.

• ADDC : Hasil dari instruksi ADD ditambah satu bila CY diset.

• SUBB : Pengurangan akumulator dengan sumber operand, lalu dikurangi satu CY diset, hasilnya disimpan dalam operand tersebut.

• DEC : Mengurangi sumber operand dengan 1, dan hasilnya disimpan pada operand tersebut.

• MUL : Perkalian antara akumulator dengan Register.

• DIV : Pembagian antara akumulator dengan Register B dan hasilnya disimpan dalam akumulator, sisanya di register B.

c. Instruksi Logika

Mikrokontroler AT89C51 dapat melakukan operasi bit maupun operasi logika byte. Operasi logika tersebut dibagi atas dua bagian yaitu :


(28)

a. Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL, RLC, RR, RRC, dan SWAB.

b. Operasi logika dua operand seperti : ANI, ORL, dan XRL.

Operasi yang dilakukan oleh AT89S51 dengan pembacaan instruksi logika tersebut dijelaskan di bawah ini :

• CLR : Menghapus byte atau bit menjadi satu . • SETB : Mengeset bit atau byte menjadi satu. • CPL : Mengkomplemenkan akumulator.

• RL : Rotasi akumulator 1 bit ke kiri dan bit 1 digeser melalui carry flag.

• RR : Rotasi akumulator ke kanan.

• RLC : Rotasi akumulator 1 bit ke kanan dan bit 1 digeser melalui carry flag.

• SWAB : Pertukaran nibble orde tinggi.

• ANL : Operasi logika AND dan hasilnya disimpan dalam operand pertama.

• ORL : Operasi logika OR dan hasilnya disimpan dalam operand pertama.

• XRL : Operasi logika XOR dan hasilnya disimpan dalam operand pertama


(29)

d. Instruksi Transfer Kendali

Instruksi transfer kendali (control transfer) terdiri dari tiga kelas operasi yaitu:

a. Lompatan tidak bersyarat (Unconditional Jump) seperti : ACALL, AJMP, LJMP, JMP @ A+DPTR

b. Lompatan bersyarat (Conditional Jump) seperti : JZ, JNZ, JB, CJNE, dan DJNZ.

c. Interupsi seperti : RET1 dan RET2.

Penjelasan dari instruksi diatas sebagai berikut :

• ACALL : Instruksi pemanggilan subroutine tidak lebih dari 2 Kbyte. • LCALL : Pemangilan subroutine yang mempunyai alamat antara 2 Kbyte.

• AJMP : Lompatan untuk percabangan maksimum 2 Kbyte. • LJMP : Lompatan untuk pencabangan maksimum 64 Kbyte.

• JMP @ A+DPTR : Instruksi percabangan ke suatu lokasi yang ditunjukkan oleh DPTR + isi akumulator

• JNB : Percabangan bila bit tidak diset.

• JZ : Percabangan akan dilakukan jika akumulator adalah nol.

• JNZ : Percabangan akan dilakukan jika akumulator adalah tidak nol. • JC : Percabangan terjadi jika CY diset “1”.

• CJNE : Operasi perbandingan operand pertama dengan operand kedua, jika tidak sama akan dilakukan percabangan.


(30)

• DJNZ : Mengurangi isi operand sumber dan percabangan akan dilakukan apabila isi operand tersebut tidak nol.

• RET : Kembali ke subroutine.

• RET1 : Kembali ke program interupsi utama.

Sebagai operand dari perlengkapan instruksi tersebut adalah sebagai berikut :

Rn : Register R0-R7 yang terpilih dari tumpukan Register.

DATA : Lokasi alamat data internal 8 bit, yang dilokasikan pada data RAM internal (0- 127) SFR pada 128 – 255 (I/O port, Register pengontrol, Register status).

@R1 : Data RAM internal lokasi 0 – 255 delapan bit, yang dialamati secara tidak langsung melalui R0 dan register R1.

# DATA8 : Yang diisikan kedalam instruksi adalah 8 bit. # DATA16 : Yang diisikan kedalam instruksi adalah 16 bit.

Addr 16 : Untuk tujuan alamat 16 bit. Digunakan pada operasi LCAAL dan LJMP yang dapat dilakukan dimana saja dalam 64 Kbyte daerah alamat program memori.

2.2 Motor DC

Motor arus searah ( DC ) adalah suatu mesin yang berfungsi mengubah tegangan listrik DC menjadi tenaga mekanis dimana tenaga gerak merupakan putaran dari pada rotor [6]. Dalam kehidupan sehari-hari, motor DC terdapat pada motor starter mobil, tape recorder, mainan anak-anak dan sebagainya. Pada


(31)

prinsipnya motor arus searah dapat dipakai sebagai generator arus searah, sebaliknya generator arus searah dapat dipakai sebagai motor arus searah. Pada prinsipnya, setiap jenis motor listrik dapat digunakan dalam perancangan pengontrolan secara elektronik terhadap kecepatan dan daya yang disesuaikan dengan beban yang akan digerakkan oleh motor tersebut. Pada perancangan dan pembuatan alat ini, digunakan motor DC yang berfungsi untuk maju, mundur, belok kanan, belok kiri robot penghindar halangan. Kecepatan motor DC dapat dikendalikan dengan mengubah tegangan yang dikenakan pada motor, pada dasarnya motor DC merupakan peralatan listrik yang mengubah energi listrik menjadi energi mekanis. Motor terdiri dari 2 ( dua ) bagian utama yaitu stator dan rotor, Stator atau bagian diam terdiri dari magnet permanen, dan rotor atau bagian yang berputar terdiri dari kumparan-kumparan tembaga yang ditanam dicelah-celah inti besi rotor. Kumparan-kumparan tembaga pada rotor sama prinsipnya seperti konduktor, dimana setiap konduktor yang mengantar arus mempunyai medan magnet disekelilingnya, kuat medan magnet tergantung dari kuat arus yang mengalir. [(Depari,1992)].

2.2.1 Dasar – dasar Motor DC

Pada percobaan Maxwell, bilamana arus listrik yang mengalir dalam kawat arahnya menjauhi kita (maju), maka medan-medan yang terbentuk disekitar kawat searah dengan putaran jarum jam. Sebaliknya bila mana arus listrik yang mengalir dalam kawat arahnya mendekati kita (mundur), maka medan-medan


(32)

magnet yang terbentuk disekitar kawat arahnya berlawanan dengan arah putaran jarum jam.

Besarnya gaya dapat dihitung :

Rumus 2.1. Penghitungan besar gaya F = B. I. L

Dimana:

F= Gaya (Newton)

B=Kerapatan Fluk(wb/m2) I=Kuat arus (ampere)

L= Panjang kumparan (meter)

2.2.2 Jenis-jenis Motor DC

Berdasarkan sumber arus penguat magnetnya, motor DC dibedakan atas: 1. Motor DC penguat terpisah: arus penguat magnetnya diperoleh dari sumber DC diluar motor.

2. Motor DC dengan penguat sendiri: arus penguat magnetnya berasal dari motor itu sendiri

Berdasarkan hubungan lilitan penguat magnet terhadap lilitan jangkar, motor DC dengan penguat sendiri dibedakan atas:

1. Motor shunt: mempunyai kecepatan yang hampir konstan, perubahan kecepatan hanya sekitar 10 %, pemakaian misalnya untuk kipas angin.


(33)

2. Motor seri: dapat memberikan moment yang besar pada saat mulai start dengan arus start yang rendah, dapat memberikan perubahan kecepatan dengan arus yang kecil. Penggunaan untuk pengangkat.

3. Motor kompon: Mempunyai sifat yang sama dengan seri dan mempunyai moment start yang besar, perubahan kecepatan sekitar 25 %, biasanya dipakai pada pemecah.

Untuk membalik arah putaran motor DC dapat dilakukan dengan dua cara: 1. Membalik arah arus jangkar, arah arus penguat tetap.

2. Membalik arah arus penguat, arah arus jangkar tetap.

Apabila arah arus jangkar dan arah arus penguat keduanya dibalik, arah putaran motor tidak berubah.

Gambar 2.2 motor DC

2.3 Sensor Ultrasonik Ping Parallax

Ping ini adalah sebuah modul Ultra sonic, yang biasanya digunakan untuk mendeteksian jarak [4]. Walaupun diapilkasikan untuk berbagai keperluan. Mulai dari yang paling sederhana sampai sebagai mata sebuah robot. Modul ping ini adalah memiliki komponen utama, sepasang Tranduser Ultrasonik. Yang satu


(34)

digunakan untuk memancarkan sinyal ultrasonik, dan yang satunya lagi digunakan untuk menerima pantulan sinyal ultra sonic tersebut. Lama waktu antara dikirimkannya sinyal dengan diterimanya sinyal itulah yang kemudian dapat diasumsikan sebagai besaran jarak. Sensor ini memiliki 3 kaki yaitu ground, 5v untuk sumber tegangan dan sig untuk signal

Gambar2.3 sensor ultrasonik ping parallax

Gelombang ultrasonik adalah gelombang dengan besar frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Gelombang ini dapat merambat dalam medium padat, cair dan gas, hal disebabkan karena gelombang ultrasonik merupakan rambatan energi dan momentum mekanik sehingga merambat sebagai interaksi dengan molekul dan sifat enersia medium yang dilaluinya.Sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang disebut transmitter dan rangkaian penerima ultrasonik yang disebut receiver. Sinyal ultrasonik yang dibangkitkan akan dipancarkan dari transmitter ultrasonik. Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima oleh receiver ultrasonik. Sinyal yang diterima oleh rangkaian receiver

dikirimkan ke rangkaian mikrokontroler untuk selanjutnya memberikan perintah kepada robot agar bergerak menjauhi penghalang tersebut sesuai dengan


(35)

algoritma program mikrokontroler yang dibuat, seperti terlihat pada gambar di bawah ini.

Gambar2.4 prinsip kerja sensor ultrasonik

a. Pemancar Ultrasonik (Transmitter)

Pemancar Ultrasonik ini berupa rangkaian yang memancarkan sinyal sinusoidal berfrekuensi di atas 20 KHz menggunakan sebuah transducer transmitter ultrasonik dan sinyalnya difokuskan melalui sebuah corong / pipa. Pada penggunaannya, akan digunakan 3 buah pemancar yang masing-masing mengirimkan sinyal dengan frekuensi yang berbeda-beda.

b. Penerima Ultrasonik (Receiver)

Penerima Ultrasonik ini akan menerima sinyal ultrasonik yang dipancarkan oleh pemancar ultrasonik dengan karakteristik frekuensi yang sesuai. Sinyal yang diterima tersebut akan melalui proses filterisasi frekuensi dengan menggunakan rangkaian band pass filter (penyaring pelewat pita), dengan nilai frekuensi yang dilewatkan telah ditentukan. Kemudian sinyal


(36)

keluarannya akan dikuatkan dan dilewatkan ke rangkaian komparator (pembanding) dengan tegangan referensi ditentukan berdasarkan tegangan keluaran penguat pada saat jarak antara sensor kendaraan mini dengan sekat/dinding pembatas mencapai jarak minimum untuk berbelok arah. Dapat dianggap keluaran komparator pada kondisi ini adalah high (logika ‘1’) sedangkan jarak yang lebih jauh adalah low (logika’0’). Logika-logika biner ini kemudian diteruskan ke rangkaian pengendali (mikrokontroler).


(37)

PERANCANGAN ROBOT

Pada bab ini menjelaskan mengenai perancangan robot penghindar halangan baik perancangan hardware maupun software.

3.1. Kebutuhan Perangkat Keras

Untuk membuat robot ini diperlukan beberapa hardware diantaranya sebagai berikut:

a. Aluminiium

Dalam pembuatan robot ini memerlukan aluminium yang berfungsi sebagai bahan dasar untuk pembuatan kerangka robot.

b. EDT progammerhardware

Alat yang digunakan untuk mendownload / memasukkan software yang telah di buat ke dalam mikrokontroller. EDT progammer hardware ini terhubung ke komputer dengan kabel RS 232.

Dalam hal ini digunakan EDT progammaer untuk komunikasi serial data program ke PC mikrokontroller.

c. Rangkaian mikrokontroler AT89C51

AT89C51 adalah mikrokontroler dari keluarga MCS-51 yang dikeluarkan oleh perusahaan Atmel dengan 4Kbyte flash PEROM (programmable and arasable read only memory). Mikrokontroler ini memiliki teknologi memori nonvotile artinya isi memori dapat dihapus


(38)

dilepaskan.

d. Rangkaian driver motor DC

Untuk dapat menggerakkan robot diperlukan motor DC sebagai alat yang berfungsi sebagai penggerak roda maju dan mundur. Motor DC adalah alat yang mengubah pulsa listrik menjadi gerak, mempunyai prinsip dasar yang sama dengan motor stepper namun gerakannya bersifat kontinyu atau berkelanjutan. Adapun Motor DC dipakai nantinya mengunakan tegangan 24V.

e. Sensor ultrasonik

Agar dapat menghindari halangan sensor ultrasonik digunakan dikarenakan dapat mengeluarkan gelombang sinyal ultrasonik dan jika ada halangan gelombang akan terpantul dan ditangkap kembali oleh sensor ultrasonik.

f. Aki dan baterai

Dalam sistem nantinya digunakan aki dan baterai 36V yang digunakan untuk mikrokontroler dan driver motor. 24V digunakan untuk driver motor dan 12V unttuk mikrokontroler yang diturunkan menjadi 5V oleh IC regulator.

3.2. Kebutuhan Perangkat Lunak

Software yang digunakan dalam robot penghindar halangan dengan


(39)

a. Bahasa pemrograman C ++

Sebuah software yang digunakan untuk merancang program atau mengatur jalannya robot sesuai yang kita inginkan yang nantinya akan digunakan untuk mengontrol driver motor dan sensor ultrasonik.

b. Keil C51

Sebuah software yang digunakan untuk merubah / mengkonvert bahasa pemrograman C ++ yang telah kita buat ke dalam bentuk heksa maupun biner yang nantinya akan dimasukkan / didownload kedalam mikrokontroller AT89C51.

c. EDT programmersoftware.

EDT programmer software adalah sebuah software downloader yang digunakan untuk menanamkan software yang telah dibuat dalam bahasa pemograman C ++yang telah dirubah ke biner pada mikrokontroler

AT89C51.

3.3 Perancangan Perangkat Keras

Pada perancangan perangkat keras ini, akan ada penjelasan proses tentang mikrokontroler AT89C51, EDT programmer hardware, driver motor dc, sensor ultrasonik.

3.3.1. Perancangan kerangka robot

Pada perancangan kerangka robot ini, kami menggunakan bahan aluminium dengan alasan karena bahan ini kuat, namun ringan.


(40)

Gambar3.1 perancangan kerangka robot tampak bawah

Gambar3.2 perancangan kerangka robot tampak samping

Proses selanjutnya setelah pembuatan kerangka robot adalah pemasangan motor dc dan roda pada kerangka robot. Langkah awal yaitu motor dc dipasang pada kerangka robot lalu buat baris untuk pemasangan roda. Supaya roda dapat bergerak sendiri – sendiri antara yang kanan dengan yang kiri tidak berputar, kami menggunakan bearing. Untuk dapat menggerakkan roda menggunakan motor dc, kami menggunakan optibelt dan bearing sebagai penyambungnya.


(41)

Pada rancangan ini rangkaian yang ada pada mikrokontroler AT89C51 adalah rangkaian clock dan rangkaian reset. Rangkaian osilator clock menggunakan kristal 11,0592 Mhz dengan dua kapasitor 33Pf seperti ditunjukkan dalam gambar 3.3, nilai clock tersebut disesuaikan dengan kebutuhan dalam penentuan timer pada sensor ultrasonik

Dan pada rangkaian reset digunakan untuk menghentikan kerja mikrokontroler dengan kembali ke alamat 00h. Untuk mereset mikrokontroler

AT89C51 yaitu dengan memberikan logika tinggi pada pin reset (pin 9). Logika tinggi ini dibuat minimal dua machine cycle (24 periode osilator). Jika menggunakan clock 11,0592 Mhz. Maka logika tinggi minimal kurang lebih selama 2 ms.


(42)

Perancangan ini menggunakan mikrokontroler AT89C51 dengan tiga buah sensor ultrasonik ping parallax yang dimana terdapat tiga buah pin pada sensor ultrasonik yaitu vcc, gnd ( ground ) dan sig. Untuk memfungsikan sensor ultrasonik ini, pin sig perlu di seri dengan dioda 4148 yang diserikan kepada dua pin pada mikrokontroler AT89C51.


(43)

3.3.4. Driver Motor DC

Pada driver motor DC ini saya menggunakan 8 buah dioda 1N 5819, 1 buah IC L 298, 1 buah IC regulator 7805, 2 buah resistor 47 k, 2 buah resistor 2,2 k, 2 buah LED warna merah dan 2 LED warna hijau. IC L298 dihubungkan dengan 4 dioda untuk 1 motor dc sebagai penyearah arus yang akan diterima oleh motor dc. Sedangkan resistor berfungsi sebagai hambatan agar arus listrik dari bateray / akumulator tidak terlalu besar. Untuk LED yang dihubungkan ke motor dc berguna untuk indikator motor dc apakah maju atau mundur. IC regulator berfungsi untuk menurunkan tegangan yang diterima oleh L298


(44)

Pada rangkaian keseluruhan ini merupakan gabungan dari semua rangkaian – rangkaian yang sebelumnya telah dirancang yaitu blok rangkaian

mikrokontroller AT89C51, rangkaian driver motor dc yang menggunakan IC L

298, dan rangkaian sensor ultrasonic ping parallax.

Gambar 3.6. Rangkaian keseluruhan robot penghindar halangan

Keterangan untuk gambar rangkaian diatas adalah untuk roda kanan robot mendapatkan port P1.4 dan P1.5 sedangkan untuk roda kiri robot mendapatkan port P1.2 dan P1.3. Untuk sensor ultrasonik mendapatkan port 0 yaitu ( P0.5, P0.6, P0.7 ) dan port 2 yaitu ( P2.5, P2.6, P2.7 ).


(45)

3.3.6. Perancangan arena robot

Pada arena robot yang kami buat, kami menggunakan kayu triplek, engsel dan juga sekrup. Alasan kami menggunakan engsel adalah agar arena dapat dilipat sehingga mudah untuk dibawa kemana – mana.

Gambar 3.7. PerancanganArena

Pada gambar diatas menjelaskan bahwa kami menggunakan 20 potong triplek dan setiap potongan triplek memiliki penjang 28 cm dan Lebar 15 cm. Setiap potongan triplek disambungkan menggunakan engsel yang disekrup.

3.4 Perancangan Perangkat Lunak

Pada perancangan perangkat lunak ini, terdapat 2 bagian yang akan kami buat yaitu driver motor dan sensor ultrasonik.

3.4.1 Perancangan Software Driver Motor

Pada bagian perangkat lunak driver motor ini saya memastikan bahwa driver yang dibuat sudah benar dan sudah diuji dalam cara manual untuk dapat menggerakkan motor dc yang disambung ke roda robot.


(46)

Gambar 3.8 digram alir perancangan test gerak robot

Diatas adalah gambar diagram alir untuk uji coba sederhana untuk menggerakkan motor dc atau menggerakkan robot dari driver motor, pada perancangan perangkat lunak driver motor ini mula-mula robot akan kami gerakkan maju, berbelok kanan lalu bergerak mundur dan terakhir berbelok kiri ini adalah perancangan perangkat lunak untuk driver motor.

3.4.2 Perancangan Software Sensor Ultrasonik

Agar sistem dapat bekerja dengan baik maka diperlukan perangkat lunak yang mengatur kerja dari keseluruhan rangkaian. Pertama-tama yang dibuat adalah program alir (flowchart) dan kemudian dilakukan pembuatan program.

Pembuatan perangkat lunak harus melalui proses-proses uji coba secara


(47)

Gambar 3.9. Flowchart sensor depan

Dari gambar 3.9 menjelaskan bahwa ketika robot pertama kali berjalan, robot akan memancancarkan sensor ultrasonik depan. Jika robot tidak menemukan halangan atau jarak halangan halangan depan > 20 cm maka robot akan jalan lurus terus ke depan dengan delay 3 detik.


(48)

membaca sensor depan ketika di depan robot menemukan halangan atau jarak halangan <= 20 cm, maka langkah kedua robot akan melakukan cek sensor halangan kanan. Jika di sebelah kanan robot tidak ada halangan atau halangan >20 cm, maka robot akan belok kanan dengan delay 2 detik.

Gambar 3.11. Flowchart sensor kiri

Dari gambar flowchart di atas dapat dijelaskan bahwa setelah langkah ketiga setelah robot melakukan cek sensor kanan, maka robot akan melakukan cek sensor kiri. Jika sensor kanan robot membaca adanya halangan atau halangan <= 20 cm maka robot akan melakukan cek sensor kiri. Jika di sebelah kiri robot tidak ada halangan atau halangan > 20 cm, maka robot akan berbelok ke kiri dengan delay 2 detik


(49)

Gambar 3.12. Flowchart semua sensor

Untuk penjelasan diagram alir diatas adalah pada saat robot hidup atau catu daya dihidupkan pertamakali yang robot lakukan adalah pemancaran gelombang ultrasonik pada semua sensor, pada saat sensor depan mengeluarkan gelombang dan tidak ada halangan atau jarak halangan > 20 cm, maka robot akan berjalan maju dengan delay 3 detik. Jika pada saat robot berjalan maju dan jarak halangan sudah <= 20 cm maka robot akan melakukan pengecekan pada sensor sebelah kanan, jika disebelah kanan tidak terdapat halangan atau jarak halangan > 20 cm maka robot akan berbelok kearah kanan dengan delay 2 detik. Jika disebelah kanan robot terdapat halangan atau halangan <= 20 cm maka robot akan melakukan pengecekan sensor sebelah


(50)

halangan > 20 cm maka robot akan berbelok ke kiri. Namun apabila sebelah kiri robot terdapat adanya halangan atau jarak halangan <= 20 cm maka robot akan mundur sambil memancarkan sensor ultrasonik kanan dan kiri sampai menemukan sisi kanan atau kiri yang kosong tanpa adanya halangan atau jarak halangan > 20 cm untuk berbelok.


(51)

sebelumnya. Implementasi dalam membuat robot penghindar halangan yaitu terdiri dari perangkat keras dan proses program dari perangkat lunak.

4.1. Implementasi Perangkat keras

Untuk gambaran sistem yang digunakan dalam implementasi robot penghindar halangan ini adalah pertama user menghidupkan catudaya dari proses ini maka mikrokontroler langsung mengeksekusi dan memerintahkan sensor ultrasonik dan hasilnya dikembalikan ke mikrokontroler dan memerintahkan ke driver motor, dan driver motor memerintahkan ke motor dc untuk bergerak.

4.1.1 Kerangka Robot

Dalam rangkaian mekanik robot terbuat dari aluminium dikarenakan aluminium adalah benda yang ringan namun kuat. Dalam membuat rangkaian mekanik robot diperlukan skrup untuk menghubungkan antar potongan dan bor dengan ukuran 1,5 mm untuk membuat lubang skrup.

Gambar 4.1. Kerangka robot tampak depan


(52)

Gambar 4.2. Kerangka robot tampak atas

Gambar 4.3. Kerangka robot tampak bawah


(53)

menggunakan motor dc, kami menggunakan optibelt sebagai penghubungnya. Untuk pemasangan roda robot kami menggunakan bearing untuk membantu perputaran dan mengurangi gesekan pada saat roda digerakkan oleh motor dc.

4.1.2 Rangkaian MikrokontrolerAT89C51

Langkah penyusunan selanjutnya dari hardware robot penghindar halangan ini adalah pengimplementasian dari perancangan dari mikrokontroler AT89C51

Gambar 4.5 Rangkaian mikrokontroler

Pada gambar rangkaian diatas terdapat satu komponen yang berfungsi memberi tegangan sebesar 5Vdc yaitu komponen IC ( integrated circuit ) regulator atau IC 7805 komponen ini berfungis untuk menurunkan sumber tegangan dc yang diterima oleh rangkaian menjadi 5Vdc ini dikarenakan mikrokontroler AT89C51 bekerja pada sumber tegangan 5Vdc, sumber tegangan ini berfungsi untuk menggerakkan motor dc, sensor ultrasonic dan juga sensor api.


(54)

Rangkaian driver motor ini berfungsi untuk menggerakkan roda untuk dapat bergerak maju, mundur serta untuk mengatur kecepatan pergerakan roda robot yang telah terhubung oleh motor dc.

Gambar 4.6 Rangkaian driver motor

Pada gambar driver motor diatas driver motor mempunyai 4 pin yang masuk ke mikrokontroler, yaitu port P1.2, P1.3, P1.4, P1.5. Driver tersebut menggunakan IC L298 dan tambahan 8 buah dioda 1n5819 dan IC regulator 7805, motor dc dapat dijalankan secara langsung dengan menggunakan PWM. Resistor berfungsi untuk menahan arus yang besar, LED warna hijau dan meah digunakan untuk mengetahui arah perputaran motor dc atau roda robot, jika LED warna hijau menyala jadi perputaran maju jika LED warna merah menyala maka perputaran mundur.

4.1.4 Rangkaian sensor ultrasonik

Telah dibahas pada bab sebelumnya untuk perancangan perangkat keras dari sensor ultrasonik dan penulis menerapkannya pada bab ini yaitu implementasi dari perancangan perangkat keras sensor ultrasonik.


(55)

Gambar 4.7. Rangkaian mikrokontroller dengan sensor ultrasonik

Pada gambar diatas adalah gambar untuk rangkaian ultrasonik yang dihubungkan dengan rangkaian mikrokontroler, melaui 2 port yaitu port 0 ( P0.5, P0.6, P0.7 ) dan port 2 ( P2.5, P2.6, P2.7 ),. Hal ini dikarenakan untuk mikrokontroler keluarga MCS-51 seperti AT89C51 ini jenis mikrokontroler yang tidak dapat mengeluarkan perintah trigger secara langasung, akan tetapi dengan pemasangan yang benar dengan menggunakan 2 port untuk setiap sensor ultrasonik buatan ping parallax ini perintah trigger yang diperintahkan dari mikrokontroler keluarga MCS-51 atau AT89C51 ini dapat dilaksanakan oleh sensor ultrasonik buatan ping parallax tersebut. Untuk sensor ultrasonik depan mendapatkan port P0.7 dan P2.7 , sensor kiri mendapatkan port P0.6 dan P2.6 sedangkan sensor kanan mendapatkan port P0.5 dan P2.5.

4.1.5 Hardware EDT Programmer

EDT Programmer hardware adalah alat yang digunakan untuk


(56)

atau binner.

Gambar 4.8. EDT Programmer hardware 4.1.6 Arena robot

Arena robot ini terbuat dari potongan triplek yang disambung menggunakan engsel agar bisa dilipat dan mudah dibawa. Arena ini membantu untuk uji coba penerapan jalannya robot apakah jalannya robot sudah sesuai dengan yang kita inginkan


(57)

Pada implementasi perangkat lunak penulis mengimplementaskan perancangan perangkat lunak yang telah dibahas pada bab sebelumnya seperti

software yang digunakan penulis untuk menanamkan program robot kedalam

mikrokontroler, driver motor, sensor ultrasonik, sensor api.

4.2.1 Mikrokontroler AT89C51

Untuk implementasi dari perancangan perangkat lunak mikrokontroler AT89C51 penulis menggunakan hardware dan software yaitu KEIL C51 v8.16 software untuk merubah bahasa C++ yang penulis buat ke bentuk biner atau heksa dan EDT programmer hardware yaitu alat untuk tempat mikrokontroler pada saat ditanamkan program untuk robot yang penulis buat dan EDT

programmer software untuk menanamkan program C++ yang telah dirubah ke

biner atau heksa untuk ditanamkan ke mikrokontroler.

4.2.1.1 KEIL C51

Program C++ merupakan program yang ditulis oleh penulis yaitu program yang berupa kumpulan baris-baris perintah dan disimpan dalam file yang berextensi .Uv2 ( uvision project ). program ini ditulis menggunakan

software Keil c51.

Keil C51 adalah software untuk menulis program C++ dari keluarga MCS-51 sehingga Keil c51 ini cocok digunakan untuk mikrokontroler AT89C51.


(58)

biner atau heksa file yang akan ditanam ke mikrokontroler AT89C51.

Gambar 4.10 tampilan Keil C51

Pada Keil C51 ini mengkonvert program yang telah dibuat dalam bentuk .bin atau biner dan juga .hex atau heksa ini bertujuan untuk program yang akan ditanam ke mikrokontroler. Langkah pertama yang harus dilakukan adalah buka Keil C51 jika telah terinstal buka open dan pilih program dan letak program anda yang akan dikonvert menjadi biner atau heksa selanjutnya pilih run atau tekan f5.


(59)

EDT programmer adalah software yang digunakan penulis untuk menanam / mendownload program C++ yang telah kita konvert ke dalam bentuk heksa untuk robot ke mikrokontroler, dengan fasilitas pendukung

hardware dari EDT programmer .

Gambar 4.11 EDT programmer software

Setelah penulis membuat program robot dengan bahasa C++ maka penulis mengkonvert program C++ tersebut menjadi program biner atau heksa dan tahap terakhir yaitu menanam program biner atau heksa tersebut ke mikrokontroler dengan menggunakan sofware dan hardware EDT


(60)

4.2.1.3 Pemrograman driver motor

Untuk implementasi perangkat lunak driver motor ini penulis mengimplementasikan dari perancangan perangkat lunak dari driver motor dimana penulis akan mengimplementasikan program yang akan digunakan atau ditanamkan ke mikrokontroler AT89C51 untuk menggerakkan motor dc yang berfungsi untuk menarik roda robot sehingga robot dapat bergerak sesuai dengan program yang diisikan atau ditanamkan ke mikrokontroler AT89C51.

Telah dibahas pada bab sebelumnya tentang perancangan perangkat lunak dari driver motor tentang diagram alir yang penulis buat pada gambar 3.8 yaitu untuk menggerakkan robot bergerak maju, belok kanan, mundur dan belok kiri. Penulis mengimplementasikan diagram alir tersebut kepada robot untuk langkah pertama yaitu seperti yang dijelaskan pada bab mikrokontroler AT89C51 yaitu membuat programC++ pada Keil C51 dikonvert ke biner atau heksa lalu ditanam ke mikrokontroler dengan menggunakan EDT programmer hardware dan software. Program yang ditanamkan penulis untuk mengimplementasikan diagram alir dari bab sebelumnya tentang driver motor adalah sebagai berikut :

void maju(long delay)

{ L1 = 1;

L2 = 0;

R1 = 1;

R2 = 0;

idelay(delay);


(61)

L2 = 1;

R1 = 1;

R2 = 0;

idelay(delay);

}

void kanan(long delay)

{ L1 = 1;

L2 = 0;

R1 = 0;

R2 = 1;

idelay(delay);

}

void kiri2(long delay)

{ L1 = 0;

L2 = 0;

R1 = 1;

R2 = 0;

idelay(delay);

}

void kanan2(long delay)

{ L1 = 1;

L2 = 0;

R1 = 0;

R2 = 0;

idelay(delay);

}

void mundur(long delay)

{ L1 = 0;

L2 = 1;

R1 = 0;

R2 = 1;

idelay(delay);

}

void mati(long delay)


(62)

R2 = 0;

P0_0 = 1;

spd = 1;

idelay(delay); }

Keterangan dari perangkat lunak driver motor diatas adalah L untuk roda sebelah kiri R untuk roda sebelah kanan, sedangkan 0 adalah pemberian nilai pada motor yaitu negatif atau 0, 1 adalah pemberian nilai positif atau 1 dalam assembly 1 adalah set bit sedangkan 0 adalah clear, void disini adalah sub rrutin pemanggilan, spd adalah PWM atau kecepatan dari motor dan delay adalah penundaan.

4.2.1.4 PemrogramanSensor ultrasonik

Pada implementasi sensor ultrasonik ini penulis mencoba menerapkan atau mengimplementasikan diagram alir pada gambar3.12 dari perancangan perangkat lunak sensor ultrasonik dari bab yang telah dibahas sebelumnya.

Bahasa yang digunakan C++ dengan menggunakan Keil C51 sebagai softwarenya.

while(1) {

while (jarak(0) > 90) {

spd = 90;

if (j > 200) spd = 50;

if (jarak(1) <= 40 && jarak(2) > 55) kanan2(2000); else

if (jarak(2) <= 45 && jarak(1) > 50) kiri2(2000);


(63)

while (jarak (0) <= 50) {

if (jarak(2) > 90 ) {

spd = 170;

kanan(8000);

mati(1000);

} else

if (jarak(1) > 90 ) {

spd = 170;

kiri(8000);

mati(1000);

} else {

spd = 100; mundur(1000);

}

}

}

}

Berikut ini adalah penjelasan dari program diatas. Jika didepan robot tidak terdapat halangan maka robot berjalan maju, sambil memancarkan sensor ultrasonik yang ada di samping kanan dan kiri. Apabila di depan terdapat halangan maka langkah selanjutnya adalah pengecekan sensor ultrasonik kanan. Jika di sebelah kanan tidak ada halangan, maka robot akan berbelok ke kanan. Namun apabila di samping kanan robot juga terdapat halangan, maka robot akan melakukan pengecekan sensor ultrasonik kiri. Apabila di samping kiri robot tidak ada halangan, maka robot akan berbelok ke kiri. Namun apabila di samping kiri robot juga terdapat halangan, maka robot akan berjalan mundur sambil melakukan pengecekan sensor sebelah


(64)

sesuai dengan diagram alir yang penulis buat.

Keterangannya jika sensor aktif maka pin dari sensor akan diberikan nilai 1 jika tidak maka nilainya 0, nop adalah penunda waktu sebanyak 1us dalam assembly tetapi juga dapat digunakan pada program Keil C51 ini.


(65)

perangkat lunak usai maka selanjutnya adalah pengujian dari implentasi yang telah saya buat.

5.1. Ujicoba

Setelah robot selesai dibuat, langkah selanjutnya adalah melakukan ujicoba untuk mengetahui tingkat keberhasilan pembuatan robot.

5.1.1 Ujicoba Driver Motor

Untuk melakukan pengujian terhadap driver motor ini saya menyiapkan dua buah baterai dengan tegangan 12V yang disusun seri sehingga tegangan total mencapai 24V ini dikarenakan driver motor yang dibuat oleh saya maksimal 24Volt jika tegangan kurang dari 15Volt maka motor dc tidak akan bergerak karena supply tegangan yang kurang.

Isi program dan tanam pada mikrokontroler hubungkan pada driver

motor dan motor dc.

Gambar 5.1 Pengujian driver motor


(66)

P1.2 P1.3 P1.4 P1.5 Gerak Robot Nyala LED

1 0 1 0 Maju

0 1 0 1 Mundur

1 0 0 1 Belok kanan

0 1 1 0 Belok kiri

0 0 0 0 Mati

P1.2 dan P1.3 adalah roda kiri dan P1.4 dan P1.5 adalah roda kanan, dari hasil diatas dapat ditarik kesimpulan jika P1.2 bernilai 1 dan P1.3 bernilai 0 maka gerak roda maju. P1.4 bernilai 1 dan P1.5 bernilai 0 maka gerak roda juga maju dari kesimpulan ini jika nilai dari pin masing – masing roda dibalik maka putaran roda juga terbalik. Seebaga indikatornya kita berikan masing – masing 2 LED untuk setiap roda, yaitu 1 LED warna hijau dan 1 LED warna merah baik roda kanan maupun kiri. Jika roda gerak maju maka LED warna hijau yang menyala sedangkan apabila gerak roda mundur, maka LED waran merah yang menyala

5.1.2 Ujicoba sensor Ultrasonik

Sebelum sensor ultrasonik diuji pada robot maka sebaiknya sensor ultrasonik diuji secara manual dengan cara sebagai berikut.

Sensor ultrasonik dapat dilakukan ujicoba secara manual dengan menggunakan sebuah alat ukur dan benda sebagai penghalang ini berguna untuk mengetahui jarak yang dipantulkan sensor ultrasonik berapa jauhnya.


(67)

Gambar 5.2 pengujian sensor ultrasonik manual

Pada gambar diatas saya uji sensor ultrasonik dengan menggunakan penggaris dan suatu benda di depan sensor sebagai penghalang dan didapat 20cm jarak yang dihasilkan oleh pantulan dari sensor ultrasonik.

Tabel 5.2 pengujian sensor ultrasonik

Halangan ( Cm ) 0V – 5V Getar Jarum per menit

50 5V -

40 5V -

30 5V -

20 4V – 5V 100

Keterangan untuk tabel diatas adalah bahwa sensor ultrasonik dapat membaca adanya halangan dengan memasangkan avo meter analog / jarum, pada sensor didekatkan pada suatu halangan maka jarum dari avo meter bergerak dengan getar 100 getaran pada angka 4v – 5v per menit, jika sensor


(68)

sensor mendeteksi halangan pada jarak halangan 20 cm. Tetapi jika sensor tidak mendeteksi adanya halangan, maka jarum tetap berada pada angka 5v pada avo meter.

5.1.3 Ujicoba Robot Penghindar Halangan

Setelah sensor ultrasonik telah diuji secara manual maka selanjutnya sensor ultrasonik saya uji dengan menggunakn robot dan arena sehingga ini adalah ujicoba robot penghindar halangan yang saya buat. Dengan menggunakan arena yang saya buat maka robot terlihat dengan jelas bagaimana robot yang saya buat menghindari halangan dari arena yang saya buat dari triplek. Ini tampak seperti pada gambar dibawah ini.

Gambar 5.3 uji coba robot

Pada ujicoba robot ini robot yang saya buat dapat menghindari halangan dari arena yang saya buat. Pada awal ketika robot dinyalakan, robot akan melakukan cek sensor ultrasonik depan. Jika jarak halangan depan robot > 20 cm maka robot akan maju dengan delay 3 detik. Apabila dalam berjalan maju dan jarak halangan di depan robot <= 20cm, maka robot akan melakukan cek sensor


(69)

halangan >= 20 cm, maka robot akan berbelok ke kanan dengan delay 2 detik. Tetapi jka halangan kanan robot <= 20 cm, maka robot akan melakukan cek sensor kiri. Apabila sisi kiri robot tidak mendeteksi halangan atau jarak halangan >= 20 cm, maka robot akan berbelok ke kiri dengan delay 2 detik. Tetapi jika jarak halangan kiri robot juga <= 20 cm, maka robot akan mundur sambil melakukan cek sensor ultrasonik kanan dan kiri hingga dia mendeteksi sisi sebelah kanan atau sisi sebelah kiri adanya ruang atau jarak halangan > 20 cm untuk berbelok.

5.2 Analisa Robot

Dalam pembuatan robot ini tentunya ada kelebihan dan kekurangan dalam beberapa kondisi. Kekurangan tersebut membuat robot tidak bisa bekerja dengan baik pada beberapa kondisi tertentu, dan berikut adalah beberapa analisanya :

5.2.1 Analisa Robot Berdasarkan Kondisi Lantai

Untuk uji coba robot berdasarkan lantai dapat dilihat dalam tabel di bawah ini

Tabel 5.3 uji coba robot berdasarkan kondisi lantai

Nomorpengujian Kondisilantai Gerak robot Alasan

1 keramik kurang lancar roda selip / licin

2 keramik kurang lancar roda selip / licin

3 marmer lancar roda tidak selip / kesat


(70)

Gambar 5.4 Uji coba pada marmer Gambar 5.5 Uji coba pada keramik

Pada empat kali uji coba robot ini yaitu dua kali uji coba pada lantai keramik ( gambar 5.4 ) dan dua kali uji coba pada lantai marmer ( gambar 5.5 ). Dari semua hasil uji coba didapatkan hasil bahwa kondisi lantai keramik membuat gerak roda robot selip terutama saat robot berbelok, hal ini dikarenakan lantai keramik licin sehimgga gerak roda robot kurang maksimal. Selain itu nat atau celah pada lantai keramik juga berpengaruh pada gerak roda robot terutama roda depan. Nat atau celah pada lantai tersebut membuat roda depan robot tersangkut dan membuat gerak robot terhambat sehingga gerak robot kurang maksimal. Sedangkan pada lantai marmer gerak robot lebih lancar, hal ini dikarenakan lantai marmer lebih kesat dibandingkan dengan lantai keramik dan lantai marmer juga tidak memiliki celah atau nat sehingga gerak robot menjadi lancar.

5.2.2 Analisa Robot Berdasarkan Posisi Arena

Untuk uji coba ini, kita buat dalam kondisi dua buah arena. Dan uji coba hanya dilakukan pada kondisi lantai marmer agar gerak robot lancar.


(71)

Gambar 5.6 arena 1 Gambar 5.7 arena2

Gambar 5.6 arena 1 Gambar 5.7 arena2

Tabel 5.4 uji coba robot berdasarkan kondisi lantai

Tabel 5.4 uji coba robot berdasarkan kondisi lantai

NomorNomorpengujian pengujian Arena Arena Hasil Hasil

1 ke – 1 lancar

2 ke – 2 lancar

3 ke – 3 lancar

4 ke – 4 lancar

Pada uji coba kali robot berdasarkan posisi arena ini, kami hanya menggunakan lantai marmer dengan alasan agar gerak robot lancar. Pada dua kali percobaan dengan kondisi arena 1 ( gambar 5.6 ) dan dua kali uji coba pada kondisi arena 2 ( gambar 5.7 ) didapatkan hasil bahwa gerak robot lancar dengan catatan arena robot harus benar – benar lurus agar pantulan sensor ultrasonik benar – benar diterima dengan baik.

Pada uji coba kali robot berdasarkan posisi arena ini, kami hanya menggunakan lantai marmer dengan alasan agar gerak robot lancar. Pada dua kali percobaan dengan kondisi arena 1 ( gambar 5.6 ) dan dua kali uji coba pada kondisi arena 2 ( gambar 5.7 ) didapatkan hasil bahwa gerak robot lancar dengan catatan arena robot harus benar – benar lurus agar pantulan sensor ultrasonik benar – benar diterima dengan baik.

5.2.3 Analisa Robot Berdasarkan Sudut Halangan 5.2.3 Analisa Robot Berdasarkan Sudut Halangan

Untuk uji coba ini kita buat dalam beberapa kondisi sudut halangan, dan dapat kita lihat dalam tabel di bawah ini

Untuk uji coba ini kita buat dalam beberapa kondisi sudut halangan, dan dapat kita lihat dalam tabel di bawah ini


(72)

Nouji Suduthalangan Hasil / gerakrobot Alasan

1 sudut < = 600 menabrak pantulan sinyal tidak bisa diterima

2 sudut 700 lancar pantulan sinyal bisa diterima

3 sudut 800 lancar pantulan sinyal bisa diterima

4 sudut 900 lancar pantulan sinyal bisa diterima

5 sudut 1000 lancar pantulan sinyal bisa diterima

6 sudut 1100 lancar pantulan sinyal bisa diterima

7 Sudut >1200 menabrak pantulan sinyal tidak bisa diterima

Gambar5.8 sudut halangan 600 Gambar5.9 sudut halangan 700


(73)

Gambar5.12 sudut halangan 1000 Gambar5.13 sudut halangan 1100

Untuk keterangan dari tabel dan gambar di atas adalah saat halangan robot bersudut 700 hingga sudut 1200 gerak robot bisa berjalan dengan lancar, hal ini dikarena pantulan sinyal sensor ultrasonik dapat diterima dengan baik, sedangkan pada kondisi sudut halangan <= 600 atau sudut > 1200 robot akan menabrak karena pantulan sinyal sensor ultrasonik tidak bisa diterima dengan baik sehingga robot tidak bisa membaca adanya halangan.

5.2.4 Analisa Pola Perbelokan Robot

Untuk pola penentuan perbelokan robot dapat dilihat dalam tabel di bawah ini


(74)

Halangan depan Halangan kanan Halangan kiri Gerak robot

> 20 cm - -

20 cm > 20 cm <= 20 cm

20 cm <= 20 cm > 20 cm

20 cm > 20 cm > 20 cm

20 cm <= 20 cm <= 20 cm

Keterangan untuk tabel di atas adalah ketika robot dinyalakan, robot akan maju dan sensor yang pertama kali membaca adalah sensor depan. Jika halangan di depan masih > 20 cm maka robot akan masih maju. Ketika halangan depan robot sudah mencapai 20 cm, maka robot akan membaca sensor sebelah kanan. Apabila halangan sebelah kanan robot > 20 cm, maka robot akan berbelok ke kanan. Apabila halangan sebelah kiri robot > 20 cm, maka robot akan berbelok ke kiri. Jika jarak halangan kanan dan kiri robot sama – sama lebih dari 20 cm maka robot akan memilih berbelok ke kanan. Hal ini dikarenakan urutan pembacaan sensor robot yaitu depan, kanan, kemudian kiri karena ketiga sensor tidak bisa bekerja secara bersamaan Sedangkan apabila jarak halangan kanan dan kiri robot adalah <= 20 cm maka robot akan mundur


(75)

menemukan ruang yang kosong untuk berbelok.

Dari hasil ujicoba dan analisa pada robot yang telah kami buat, ternyata robot ini mempunyai beberapa kekurangan, yaitu antara lain :

1. Robot dapat bekerja maksimal pada kondisi lantai marmer dibandingkan keramik. Hal ini dikarenakan lantai keramik lebih licin jika dibandingkan lantai marmer yang menyebabkan roda tidak dapat berputar secara maksimal atau selip.

2. Robot juga tidak bisa bekerja maksimal pada kondisi lantai yang memiliki celah atau nat, hal ini dikarenakan roda robot terutama roda depan robot tersangkut pada celah atau nat tersebut sehingga gerak robot terhambat agak terhambat atau kurang lancar.

3. Robot tidak dapat bekerja pada halangan yang bersudut <= 600 dan juga bersudut > 1200 atau tikungan. Hal ini dikarenakan sinyal yang dipancarkan oleh transmitter tidak dapat diterima kembali oleh receiver


(76)

6.1. Kesimpulan

Dari hasil analisa dan ujicoba yang telah dilakukan pada robot penghindar halangan yang telah dibuat kita dapat mengambil beberapa kesimpulan, yaitu antara lain:

a. Peneliti telah berhasil membuat robot penghindar halangan berbasis mikrokontroler AT89C51 dengan menggunakan bahasa C ++.

b. Robot penghindar halangan telah bekerja dengan baik dalam menghindari halangan, dengan sudut halangan 700 hingga sudut 1200. Jika sudut halangan robot adalah <= 600 dan lebih dari 1200 atau tikungan, robot akan menabrak karena pantulan sinyal gelombang sensor ultrasonik tidak dapat diterima sehingga robot tidak mendeteksi adanya halangan.

c. Untuk menghindar halangan, sensor ultrasonik mengirim perintah ke mikrokontroler AT89C51 yang diteruskan pada driver motor L298.

d. Robot dapat bekerja maksimal pada lantai marmer daripada lantai keramik, hal ini dikarenakan lantai marmer tidak begitu licin jika dibandingkan dengan lantai keramik sehingga roda robot tidak selip saat berputar.

e. Robot tidak dapat bekerja maksimal pada lantai yang memiliki celah atau nat, hal ini dikarenakan pergerakan roda robot terutama roda depan akan tersangkut pada nat tersebut sehingga gerak robot agak terhambat.


(77)

Untuk pengembangan lebih lanjut, ada beberapa hal yang harus diperhatikan, yaitu:

a. Konstruksi kerangka robot dibuat minimal mungkin supaya robot dapat bergerak bebas

b. Pembuatan arena sangat mempengaruhi kinerja robot, buat arena yang kuat lurus dan luas.

c. Pemasangan roda dan motor dc yang benar membuat gerak robot jadi lebih baik.

d. Pilih roda robot yang tidak licin supaya robot dapat bergerak dengan maksimal

e. Dapat diterapkan dan dikembangkan pada mobil untuk parkir otomatis. f. Dapat dikembangkan lagi pada mobil untuk mengurangi resiko


(78)

[1] Eko, Agfianto, ”Belajar Mikrokontroler AT89C51 Teori Dan Aplikasi”, Gava Media, Yogyakarta, 2002.

[2] Budiharto, Widodo, ”Panduan Lengkap Mikrokontroler dan Aplikasi Mikrokontroler”, PT. Elex Media Komputindo, Jakarta, 2005.

[3] Atmel, “Datasheet Product”, pada www.atmel.com, Diakses (online) pada tanggal: 30 Maret 2010

[4] Dani, 2010, ”Modul Ping Parallax” pada www.dhuzell.site90.com, diakses (online) pada tanggal: 2 April 2010

[5] Malvino, Albert Paul, ”Elektronika Komputer Digital”, Edisi kedua, Erlangga, Jakarta 1993.

[6] Komponen, Elektornika, pada http://id.wikipedia.org diakses (online) pada tanggal: 17 Februari 2010

[7] L298, Driver Motor dan C++, pada http://1.bp.blogspot.com/, diakses (online) pada tanggal: 20 April 2010


(1)

62

Gambar 5.12 sudut halangan 1000 Gambar 5.13 sudut halangan 1100

Untuk keterangan dari tabel dan gambar di atas adalah saat halangan robot bersudut 700 hingga sudut 1200 gerak robot bisa berjalan dengan lancar, hal ini dikarena pantulan sinyal sensor ultrasonik dapat diterima dengan baik, sedangkan pada kondisi sudut halangan <= 600 atau sudut > 1200 robot akan menabrak karena pantulan sinyal sensor ultrasonik tidak bisa diterima dengan baik sehingga robot tidak bisa membaca adanya halangan.

5.2.4 Analisa Pola Perbelokan Robot

Untuk pola penentuan perbelokan robot dapat dilihat dalam tabel di bawah ini


(2)

63

Tabel 5.6 Pola perbelokan robot

Halangan depan Halangan kanan Halangan kiri Gerak robot

> 20 cm - -

20 cm > 20 cm <= 20 cm

20 cm <= 20 cm > 20 cm

20 cm > 20 cm > 20 cm

20 cm <= 20 cm <= 20 cm

Keterangan untuk tabel di atas adalah ketika robot dinyalakan, robot akan maju dan sensor yang pertama kali membaca adalah sensor depan. Jika halangan di depan masih > 20 cm maka robot akan masih maju. Ketika halangan depan robot sudah mencapai 20 cm, maka robot akan membaca sensor sebelah kanan. Apabila halangan sebelah kanan robot > 20 cm, maka robot akan berbelok ke kanan. Apabila halangan sebelah kiri robot > 20 cm, maka robot akan berbelok ke kiri. Jika jarak halangan kanan dan kiri robot sama – sama lebih dari 20 cm maka robot akan memilih berbelok ke kanan. Hal ini dikarenakan urutan pembacaan sensor robot yaitu depan, kanan, kemudian kiri karena ketiga sensor tidak bisa bekerja secara bersamaan Sedangkan apabila jarak halangan kanan dan kiri robot adalah <= 20 cm maka robot akan mundur


(3)

64

sambil memancarkan sensor kanan dan sensor kiri secara bergantian hingga menemukan ruang yang kosong untuk berbelok.

Dari hasil ujicoba dan analisa pada robot yang telah kami buat, ternyata robot ini mempunyai beberapa kekurangan, yaitu antara lain :

1. Robot dapat bekerja maksimal pada kondisi lantai marmer dibandingkan keramik. Hal ini dikarenakan lantai keramik lebih licin jika dibandingkan lantai marmer yang menyebabkan roda tidak dapat berputar secara maksimal atau selip.

2. Robot juga tidak bisa bekerja maksimal pada kondisi lantai yang memiliki celah atau nat, hal ini dikarenakan roda robot terutama roda depan robot tersangkut pada celah atau nat tersebut sehingga gerak robot terhambat agak terhambat atau kurang lancar.

3. Robot tidak dapat bekerja pada halangan yang bersudut <= 600 dan juga bersudut > 1200 atau tikungan. Hal ini dikarenakan sinyal yang dipancarkan oleh transmitter tidak dapat diterima kembali oleh receiver


(4)

BAB VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Dari hasil analisa dan ujicoba yang telah dilakukan pada robot penghindar halangan yang telah dibuat kita dapat mengambil beberapa kesimpulan, yaitu antara lain:

a. Peneliti telah berhasil membuat robot penghindar halangan berbasis mikrokontroler AT89C51 dengan menggunakan bahasa C ++.

b. Robot penghindar halangan telah bekerja dengan baik dalam menghindari halangan, dengan sudut halangan 700 hingga sudut 1200. Jika sudut halangan robot adalah <= 600 dan lebih dari 1200 atau tikungan, robot akan menabrak karena pantulan sinyal gelombang sensor ultrasonik tidak dapat diterima sehingga robot tidak mendeteksi adanya halangan.

c. Untuk menghindar halangan, sensor ultrasonik mengirim perintah ke mikrokontroler AT89C51 yang diteruskan pada driver motor L298.

d. Robot dapat bekerja maksimal pada lantai marmer daripada lantai keramik, hal ini dikarenakan lantai marmer tidak begitu licin jika dibandingkan dengan lantai keramik sehingga roda robot tidak selip saat berputar.

e. Robot tidak dapat bekerja maksimal pada lantai yang memiliki celah atau nat, hal ini dikarenakan pergerakan roda robot terutama roda depan akan tersangkut pada nat tersebut sehingga gerak robot agak terhambat.


(5)

66

6.2. Saran

Untuk pengembangan lebih lanjut, ada beberapa hal yang harus diperhatikan, yaitu:

a. Konstruksi kerangka robot dibuat minimal mungkin supaya robot dapat bergerak bebas

b. Pembuatan arena sangat mempengaruhi kinerja robot, buat arena yang kuat lurus dan luas.

c. Pemasangan roda dan motor dc yang benar membuat gerak robot jadi lebih baik.

d. Pilih roda robot yang tidak licin supaya robot dapat bergerak dengan maksimal

e. Dapat diterapkan dan dikembangkan pada mobil untuk parkir otomatis. f. Dapat dikembangkan lagi pada mobil untuk mengurangi resiko


(6)

DAFTAR PUSTAKA

[1] Eko, Agfianto, ”Belajar Mikrokontroler AT89C51 Teori Dan Aplikasi”, Gava Media, Yogyakarta, 2002.

[2] Budiharto, Widodo, ”Panduan Lengkap Mikrokontroler dan Aplikasi Mikrokontroler”, PT. Elex Media Komputindo, Jakarta, 2005.

[3] Atmel, “Datasheet Product”, pada www.atmel.com, Diakses (online) pada tanggal: 30 Maret 2010

[4] Dani, 2010, ”Modul Ping Parallax” pada www.dhuzell.site90.com, diakses (online) pada tanggal: 2 April 2010

[5] Malvino, Albert Paul, ”Elektronika Komputer Digital”, Edisi kedua, Erlangga, Jakarta 1993.

[6] Komponen, Elektornika, pada http://id.wikipedia.org diakses (online) pada tanggal: 17 Februari 2010

[7] L298, Driver Motor dan C++, pada http://1.bp.blogspot.com/, diakses (online) pada tanggal: 20 April 2010