Realisasi Robot Cerdas Pemadam Api Beroda KRCI 2009 (Robot Lady).

(1)

Universitas Kristen Maranatha i

REALISASI ROBOT CERDAS PEMADAM API BERODA KRCI 2009 (ROBOT LADY)

Disusun oleh : Nama : Kristi Kosasih NRP : 0522100

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl.Prof.Drg.Suria Sumantri, MPH No. 65, Bandung, Indonesia.

Email: chris_tie_lks@yahoo.com

ABSTRAK

Semakin berkembangnya suatu negara, maka semakin banyak aplikasi teknologi yang diterapkan dalam kehidupan sehari-hari. Salah satu bentuk teknologi yang banyak digunakan adalah bidang robotika. Perkembangan bidang robotika jelas terlihat dari jenis, bentuk, serta kegunaan dari robot yang makin banyak dan beragam. Peningkatan kualitas robot terutama pada sistem kontrolnya akan semakin meningkatkan kemampuan robot. Robot dapat digunakan untuk pekerjaan dengan tingkat bahaya yang tinggi, misalnya saja pekerjaan sebagai petugas pemadam api. Sejalan dengan perkembangan bidang robotika, di Indonesia semakin semaraknya perlombaan maupun kontes robot yang diselengarakan, seperti Kontes Robot Cerdas Indonesia (KRCI).

Pada tugas akhir ini, robot cerdas pemadam api beroda diberi nama Robot LADY. Robot LADY ini juga direalisasikan untuk mengikuti KRCI 2009. Robot LADY menggunakan roda sebagai alat geraknya dan motor servo sebagai aktuator dengan misi mencari dan memadamkan api pada arena lapangan. Robot LADY juga dilengkapi beberapa jenis sensor, seperti sensor jarak ultrasonik, sensor

kompas, sensor flame detector, sensor thermal array, sensor warna, dan

microswitch. Robot LADY dikontrol menggunakan mikrokontroler AVR ATMega 16. Arena lapangan dibuat seperti miniatur ruangan-ruangan (rumah, kantor, sekolah) berlantai satu yang dilengkapi beberapa furniture, sound damper,


(2)

Universitas Kristen Maranatha ii

uneven floor. Jadi seakan-akan robot LADY ini mencari dan memadamkan api pada ruangan-ruangan (rumah, kantor, sekolah) berlantai satu yang sesungguhnya. Berdasarkan percobaan yang dilakukan dapat dikatakan bahwa Robot LADY dapat mencari dan memadamkan api lilin serta bernavigasi dan

bermanuver dalam mencari dan menjelajahi keempat ruangan mulai dari Home

sampai berhenti di Home kembali dengan mode hanging objects, variable door

location, uneven floor, furniture, non-arbitrary start, sound activation, return trip mode, room factor 4 (RF4), dan memadamkan api dengan menggunakan tiupan angin dari kipas. Percobaan berhasil pada empat konfigurasi lapangan yang digunakan dengan persentase keberhasilan sebesar 80.13 %.

Kata kunci: robot cerdas pemadam api beroda, mikrokontroler AVR ATMega

16, motor servo, sensor jarak ultrasonik, sensor kompas, sensor flame detector,


(3)

iii

Universitas Kristen Maranatha REALIZATION OF THE KRCI 2009 INTELLIGENT FIRE FIGHTING

WHEELED ROBOT (ROBOT LADY)

Composed by: Name : Kristi Kosasih NRP : 0522100

Electrical Engineering, Maranatha Christian University, Jl. Prof.Drg.Suria Sumantri, MPH No. 65, Bandung, Indonesia.

Email: chris_tie_lks@yahoo.com

ABSTRACT

Nowadays technology contribution in our life is more than as we expected, especially robotic. Robotic development can be known through type, shape, and usefulness. Robot can be used for high risk task such as fire fighting. Fire fighting robot should be able to search certain area, find the flame, and extinguish the fire. To complete these tasks, robot should be equipped with a proper controller. Because of this issue, Indonesia government organizes ‘Kontes Robot Cerdas Indonesia’ (KRCI).

In this final project, the intelligent fire fighting wheeled robot named robot LADY was prepared for KRCI 2009, wheeled senior division. Robot LADY is equipped with ultrasonic sensor, compass sensor, flame detector sensor, thermal array sensor, white detector sensor, micro switch which are controlled by Microcontroller ATMEGA 16. The area is designed like house, school, or office but in miniature. The miniature is equipped with furniture, sound damper, and uneven floor.

The criteria in KRCI 2009, wheeled senior division are hanging objects mode, variable door location mode, uneven floor mode, furniture mode, non-arbitrary start mode, sound activation mode, return trip mode, room factor 4 (RF4) mode, and extinguish fire source with fan. The task is to find the flame, extinguish the fire, search all of the room, and back to start position (Home). In experiments


(4)

Universitas Kristen Maranatha iv

robot LADY can completes the task with 80.13% of succeed for 4 area configurations.

Keywords : intelligent fire-fighting wheeled robot, microcontroller AVR ATMega16, ultrasonic sensor, compass sensor, flame detector sensor, thermal array sensor, white detector sensor, micro switch.


(5)

Universitas Kristen Maranatha v

KATA PENGANTAR

Segala puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas segala rahmat dan karunia-Nya sehingga penulis mampu menyelesaikan tugas akhir ini dengan baik dan tepat pada waktunya di Laboratorium Sistem Kontrol.

Laporan tugas akhir yang berjudul “REALISASI ROBOT CERDAS

PEMADAM API BERODA KRCI 2009 (ROBOT LADY)” ini disusun untuk memenuhi persyaratan program studi sarjana strata satu (S-1) Jurusan Teknik Elektro, Fakultas Teknik Universitas Kristen Maranatha Bandung.

Selama pelaksanaan tugas akhir penulis telah mendapat banyak bimbingan, dorongan, dan bantuan yang berarti dari berbagai pihak. Oleh karena itu, penulis tidak lupa mengucapkan terima kasih kepada pihak-pihak yang telah membantu dan mendukung dalam pengerjaan tugas akhir :

1. Ibu Dr. Erwani Merry Sartika, ST.MT. dan Bapak Meilan Jimmy Hasugian,

ST.MT., selaku dosen pembimbing tugas akhir telah bersedia meluangkan waktu untuk memberikan penjelasan dan masukan yang berharga.

2. Bapak Muliady, ST.MT., yang telah menawarkan topik.

3. Bapak Muliady, ST.MT., Bapak Heri Andrianto, ST.MT., dan Bapak Ir Aan

Darmawan, MT., selaku penguji yang telah memberikan ide, kritik, dan

saran pada saat seminar dan sidang tugas akhir.

4. Bapak Dr.Ir Daniel Setiadikurnia, MT., selaku Kepala Jurusan Teknik

Elektro Universitas Kristen Maranatha.

5. Ibu Ir. Anita Supartono, M.Sc., selaku Koordinator Tugas Akhir Jurusan

Teknik Elektro Universitas Kristen Maranatha.

6. Tim Robot KRCI Maranatha, yang telah memberikan pengarahan, saran, dan

masukan.

7. Seluruh karyawan dan civitas akademika Universitas Kristen Maranatha yang

telah membantu dalam menyelesaikan laporan tugas akhir ini.

8. Keluarga tercinta yang telah memberikan perhatian, semangat, serta bantuan

doa dalam pelaksanaan dan penulisan laporan tugas akhir sehingga dapat diselesaikan dengan baik.


(6)

Universitas Kristen Maranatha vi

9. Saudara Herry Lukas yang terus memberikan perhatian dan dorongan dalam

menyelesaikan laporan tugas akhir ini.

10. Saudari Earline Ignacia Sutanto dan Marasella Tanusaputra sebagai Tim

Robot LADY yang telah memberi bantuan dan perhatian dalam menyelesaikan laporan tugas akhir ini.

11. Semua rekan yang tidak dapat disebutkan satu persatu yang telah membantu

baik secara langsung maupun tidak langsung

Semoga Tuhan Yang Maha Esa membalas segala budi baik dan jasa Bapak, Ibu, dan Saudara sekalian.

Penulis menyadari sepenuhnya bahwa masih banyak kekurangan dan kesalahan dalam penulisan laporan tugas akhir ini, walaupun penulis telah berusaha sebaik mungkin dengan segala kemampuan yang ada. Oleh karena itu, dengan segala kerendahan hati, penulis mengharapkan saran dan kritik yang membangun yang dapat menyempurnakan laporan tugas akhir ini. Semoga laporan tugas akhir ini dapat bermanfaat bagi semua pihak yang membutuhkan.

Bandung, 21 Agustus 2009


(7)

Universitas Kristen Maranatha vii

DAFTAR ISI

Halaman

ABSTRAK ... i

ABSTRACT ... iii

KATA PENGANTAR... v

DAFTAR ISI... vii

DAFTAR TABEL ... xiii

DAFTAR GAMBAR... xv

BAB I PENDAHULUAN I.1 Latar Belakang ... 1

I.2 Identifikasi Masalah ... 2

I.3 Perumusan Masalah ... 2

I.4 Tujuan ... 2

I.5 Pembatasan Masalah ... 3

I.6 Spesifikasi Alat ... 4


(8)

Universitas Kristen Maranatha viii

BAB II LANDASAN TEORI

II.1 Pengantar Robotika ... 6

II.1.1 Sejarah Robot ... 6

II.1.2 Definisi Robot... 8

II.1.3 Keuntungan Penggunaan Robot ... 9

II.I.4 Klasifikasi Robot Berdasarkan Tingkat Kemampuan Melakukan Tugas ...10

II.1.5 Klasifikasi Robot Berdasarkan Mobilitas ... 10

II.1.6 Klasifikasi Robot Berdasarkan Metode Kontrol... 11

II.1.7 Sistem Kontrol Robotik ... 12

II.2 Kontes Robot Cerdas Indonesia (KRCI) 2009 ... 14

II.2.1 Latar Belakang KRCI 2009 ... 14

II.2.2 Maksud dan Tujuan Penyelengaraan KRCI 2009... 15

II.2.3 Divisi KRCI 2009 ... 16

II.2.4 Peraturan Divisi Senior Beroda ... 17

II.2.4.1 Robot dan Kelengkapannya ... 18

II.2.4.2 Arena Lapangan dan Kelengkapannya... 19

II.3 Motor DC Servo ... 23


(9)

Universitas Kristen Maranatha ix

II.4.1 Sensor Ultrasonik... 27

II.4.2 Sensor Kompas ... 31

II.4.3 Sensor Thermal Array... 36

II.4.4 Sensor UVTRON... 40

II.4.5 Microswitch... 42

II.4.6 Sensor Warna... 43

II.5 Rangkaian Sound Activation... 44

II.5.1 Pembangkit DTMF ... 45

II.5.2 Penerima DTMF ... 46

II.6 Mikrokontroler... 49

II.6.1 Pengenalan ATMEL AVR RISC... 49

II.6.2 Mikrokontroler ATmega16... 50

II.6.2.1 Fitur ATmega16 ... 50

II.6.2.2 Konfigurasi Pin ATmega16 ... 51

II.6.2.3 Diagram Blok ATmega16 ... 54

II.6.2.4 General Purpose Register ATmega16 ... 55

II.6.2.5 Peta Memori ATmega16 ... 55


(10)

Universitas Kristen Maranatha x

BAB III PERANCANGAN DAN REALISASI

III.1 Perancangan dan Realisasi Perangkat Keras Robot LADY ... 60

III.1.1 Mekanik Robot LADY ... 60

III.1.2 Elektronik Robot LADY... 63

III.1.2.1 Sensor ... 63

III.1.2.1.1 Sensor SRF04... 63

III.1.2.1.2 Sensor CMPS03... 64

III.1.2.1.3 Sensor TPA81... 64

III.1.2.1.4 Sensor UVTRON... 65

III.1.2.1.5 Microswitch... 65

III.1.2.1.6 Sensor Warna... 66

III.1.2.2 Sound Activation... 67

III.1.2.3 Motor Servo ... 68

III.1.2.4 Pemutar Kipas... 71

III.1.2.5 Skematik pengontrol berbasis mikrokontroler ATmega16... 72

III.2 Perancangan dan Realisasi Perangkat Lunak Robot LADY... 75

III.2.1 Perancangan Sistem Kontrol Robot LADY... 75

III.2.1.1 Diagram Blok Sistem Start Awal Robot LADY... 77


(11)

Universitas Kristen Maranatha xi

III.2.1.3 Diagram Blok Sistem Manuver Robot LADY ... 78

III.2.1.4 Diagram Blok Sistem Pemadaman Api Robot LADY ... 80

III.2.2 Algoritma pemrograman Robot LADY... 81

III.2.2.1 Diagram Alir Penggunaan Sensor... 81

III.2.2.2 Diagram Alir Pemrograman Robot LADY... 85

BAB IVANALISA DAN DATA PENGAMATAN IV.1 Pengujian Sensor Jarak Ultrasonik (SRF04) ... 92

IV.1.1 Pengukuran Jarak dengan Objek Multiplex... 93

IV.1.2 Pengukuran Jarak dengan Objek Cermin... 97

IV.1.3 Pengukuran Jarak dengan Objek Damper... 98

IV.2 Pengujian Sensor Kompas (CMPS03)... 102

IV.3 Pengujian Sensor Thermal Array (TPA81)... 105

IV.4 Pengujian Sensor UVTRON ... 107

IV.5 Pengujian Microswitch... 109

IV.6 Pengujian Sensor Warna... 111

IV.7 Pengujian Sound Activation... 112


(12)

Universitas Kristen Maranatha xii

BAB V SIMPULAN DAN SARAN

V.1 Simpulan ... 129

V.2 Saran………...130

DAFTAR PUSTAKA...131

LAMPIRAN – A Foto Robot LADY

LAMPIRAN – B Program pada Mikrokontroler ATMega16

LAMPIRAN – C Diagram Alir Program

LAMPIRAN – D Paduan KRCI 2009 Divisi Senior Beroda

LAMPIRAN – E Datasheet

LAMPIRAN – F Data Pengamatan Sensor SRF04


(13)

Universitas Kristen Maranatha xiii

DAFTAR TABEL

Halaman

Tabel 2.1 Register-register yang disediakan Sensor CMPS03... 33

Tabel 2.2 Register-register pada TPA81 ... 39

Tabel 2.3 Konfigurasi Tone DTMF ... 45

Tabel 2.4 Fungsional Decode (Mitel, 1993 : 8-27) ... 48

Tabel 2.5 Fungsi Khusus Port B ... 52

Tabel 2.6 Fungsi Khusus Port C ... 52

Tabel 2.7 Fungsi Khusus Port D ... 53

Tabel 3.1 Tabel Nilai OCR1x yang digunakan ... 71

Tabel 3.2 Alokasi Pin ATMega16 ... 73

Tabel 4.1 Tabel Pengukuran Jarak Multiplex dengan Sudut 90° Terhadap Sensor Jarak Ultrasonik (SRF04)... 94

Tabel 4.2 Tabel Pengukuran Jarak Multiplex dengan Sudut Bervariasi Terhadap Sensor Jarak Ultrasonik (SRF04)... 95

Tabel 4.3 Tabel Pengukuran Jarak Cermin dengan Sudut 90° Terhadap Sensor SRF04... 97

Tabel 4.4 Tabel Pengukuran Jarak Damper dengan Sudut 90° Terhadap Sensor Jarak Ultrasonik (SRF04)... 99

Tabel 4.5 Tabel Pengukuran Jarak Damper dengan Sudut Bervariasi Terhadap Sensor Jarak Ultrasonik (SRF04)... 100


(14)

Universitas Kristen Maranatha xiv

Tabel 4.7 Tabel Pengukuran Suhu Api Lilin dengan Sensor TPA81 dan

IRTex50 ... 106

Tabel 4.8 Tabel Pendeteksian Api Lilin dengan Sensor UVtron ... 108

Tabel 4.9 Tabel Pendeteksian Objek Putih Menggunakan Rangkaian Sensor

Warna ... 112

Tabel 4.10 Tabel Hasil Percobaan Pola Gerak Mencari dan Memadamkan Api

Lilin pada Pola 1 dengan Arah Awal Konfigurasi 4 ... 118

Tabel 4.11 Tabel Hasil Percobaan Pola Gerak Mencari dan Memadamkan Api

Lilin pada Pola 2 dengan Arah Awal Konfigurasi 5 ... 121

Tabel 4.12 Tabel Hasil Percobaan Pola Gerak Mencari dan Memadamkan Api

Lilin pada Pola 3 dengan Arah Awal Konfigurasi 6 ... 124

Tabel 4.13 Tabel Hasil Percobaan Pola Gerak Mencari dan Memadamkan Api


(15)

Universitas Kristen Maranatha xv

DAFTAR GAMBAR

Halaman

Gambar 1.1 Arena Lapangan ... 3

Gambar 2.1 Robot ASIMO dari Honda ... 7

Gambar 2.2 Robot AIBO dari Sony... 7

Gambar 2.3 Robot ApriPoko dari Toshiba ... 7

Gambar 2.4 Diagram Blok Sistem Kontrol... 12

Gambar 2.5 Kontrol Robot Loop Terbuka... 12

Gambar 2.6 Kontrol Robot Loop Tertutup ... 13

Gambar 2.7 Empat Konfigurasi Lokasi Pintu... 17

Gambar 2.8 Posisi Home pada mode non-Arbitary Start... 18

Gambar 2.9 Bentuk Motor Servo... 23

Gambar 2.10 Sistem Mekanik Motor Servo ... 23

Gambar 2.11 Diagram Blok Motor DC Servo dengan Kontrol Kecepatan ... 24

Gambar 2.12 Rangkaian Motor DC Servo dengan Kontrol Kecepatan... 25

Gambar 2.13 Nilai pulsa untuk menggerakkan motor servo ... 26

Gambar 2.14 Contoh Posisi dan Waktu pemberian Pulsa ... 27

Gambar 2.15 Bentuk Sensor SRF04 ... 28

Gambar 2.16 Dimensi Sensor SRF04 ... 28

Gambar 2.17 Alokasi PIN SRF04... 29

Gambar 2.18 Gambar Ilustrasi Cara Kerja Sensor SRF04... 29


(16)

Universitas Kristen Maranatha xvi

Gambar 2.20 Gambar Posisi Objek terhadap Sensor SRF04... 30

Gambar 2.21 Alokasi Pin CMPS03 ... 31

Gambar 2.22 Sketsa Sinyal PWM ... 32

Gambar 2.23 Bit Sequence I2C pada Sensor CMPS03... 32

Gambar 2.24 Rangkaian Tactile Switch untuk Proses Kalibrasi... 35

Gambar 2.25 Orientasi Sensor CMPS03 yang Menghasilkan Pembacaan Sudut 0° ... 35

Gambar 2.26 Sensor TPA81 Thermopille Array dan Dimensinya ... 36

Gambar 2.27 Alokasi Pin TPA81 ... 36

Gambar 2.28 Respon Spektral Sensor TPA81 antara 2 µm-22 µm ... 37

Gambar 2.29 Sudut Pandang Sensor TPA81 ... 37

Gambar 2.30 Bit Sequence I2C pada Sensor TPA81 ... 38

Gambar 2.31 UVTRON R2868 Flame Detector dan Hamamatsu C3704 Drive Circuit. ... 40

Gambar 2.32 UVTRON R2868 ... 40

Gambar 2.33 Grafik Respon UVTRON... 41

Gambar 2.34 Diagram Blok C3704 ... 41

Gambar 2.35 Microswitch 3 kaki... 42

Gambar 2.36 Keadaan 3 Kaki Microswitch... 43

Gambar 2.37 Rangkaian Sensor Warna Konfigurasi I... 44

Gambar 2.38 Rangkaian Sensor Warna Konfigurasi II ... 44


(17)

Universitas Kristen Maranatha xvii

Gambar 2.40 Pembangkit DTMF ... 46

Gambar 2.41 Penerima DTMF ... 47

Gambar 2.42 Diagram Blok IC Penerima DTMF MT8870... 47

Gambar 2.43 Konfigurasi Pin ATmega16 ... 51

Gambar 2.44 Diagram Blok ATmega16 ... 54

Gambar 2.45 General Purpose Register ATmega16 ... 55

Gambar 2.46 Peta Memori Program ATmega16 ... 56

Gambar 2.47 Peta Memori Data ATmega16 ... 56

Gambar 2.48 Phase & Frequency Correct PWM... 57

Gambar 3.1 Diagram Blok Robot LADY ... 59

Gambar 3.2 SRV-1 Mobile surveillance robot kit ... 60

Gambar 3.3 Struktur dan dimensi badan Robot LADY... 61

Gambar 3.4 Penempatan Sensor dan Rangkaian Sound Activation pada Robot LADY... 62

Gambar 3.5 Alokasi Pin Sensor SRF04 ... 63

Gambar 3.6 Alokasi Pin Sensor CMPS03 ... 64

Gambar 3.7 Alokasi Pin Sensor TPA81 ... 64

Gambar 3.8 Alokasi Pin Sensor UVTRON & Modul C3704 ... 65

Gambar 3.9 Konfigurasi Normally Open (NO) Microswitch... 65

Gambar 3.10 Konfigurasi Normally Closed (NC) Microswitch... 66


(18)

Universitas Kristen Maranatha xviii

Gambar 3.12 Rangkaian Pembangkit DTMF ... 67

Gambar 3.13 Rangkaian Penerima DTMF ... 68

Gambar 3.14 Alokasi Pin pada GWS.03 Continuous Rotation Servo ... 69

Gambar 3.15 Rangkaian Pemutar Kipas ... 71

Gambar 3.16 Skematik Pengontrol Berbasis Mikrokontroler ATMega16 ... 74

Gambar 3.17 Diagram Blok Sistem Kontrol Robot LADY... 75

Gambar 3.18 Kemungkinan Arena Lapangan... 76

Gambar 3.19 Diagram Blok Sistem Start Awal Robot LADY ... 77

Gambar 3.20 Diagram Blok Sistem Navigasi Robot LADY ... 77

Gambar 3.21 Diagram Blok Sistem Manuver Robot LADY... 78

Gambar 3.22 Diagram Blok Sistem Pemadaman Api Robot LADY... 80

Gambar 3.23 Diagram Alir Penggunaan Sensor SRF04... 82

Gambar 3.24 Diagram Alir Penggunaan Sensor CMPS03 ... 83

Gambar 3.25 Diagram Alir Penggunaan Sensor TPA81 ... 84

Gambar 3.26 Arah – arah sudut pada Arena Lapangan ... 85

Gambar 3.27 Diagram Alir Pemrograman Robot LADY Secara Umum ... 89

Gambar 3.28 Pergerakan Robot LADY pada Arena Lapangan Konfigurasi Pintu I...90

Gambar 3.29 Pergerakan Robot LADY pada Arena Lapangan Konfigurasi Pintu II...90

Gambar 3.30 Pergerakan Robot LADY pada Arena Lapangan Konfigurasi Pintu III... ..91


(19)

Universitas Kristen Maranatha xix

Gambar 3.31 Pergerakan Robot LADY pada Arena Lapangan Konfigurasi Pintu IV...91 Gambar 4.1 Ilustrasi Cara Pengukuran Jarak Menggunakan Sensor Jarak

Ultrasonik (SRF04) ... 92 Gambar 4.2 Grafik Jarak Multiplex dengan Sudut 90° Terhadap Sensor Jarak

Ultrasonik (SRF04) ... 95 Gambar 4.3 Grafik Jarak Multiplex dengan Sudut Bervariasi Terhadap Sensor

Jarak Ultrasonik (SRF04)... 96 Gambar 4.4 Grafik Jarak Cermin dengan Sudut 90° Terhadap Sensor Jarak

Ultrasonik (SRF04) ... 98

Gambar 4.5 Grafik Jarak Damper dengan Sudut 90° Terhadap Sensor Jarak

Ultrasonik (SRF04) ... 100 Gambar 4.6 Grafik Jarak Damper dengan Sudut Bervariasi Terhadap Sensor

Jarak Ultrasonik (SRF04)... 101 Gambar 4.7 Ilustrasi Cara Pengukuran Sudut Menggunakan Sensor CMPS03 ... 102 Gambar 4.8 Grafik Pengukuran Sudut dengan Sensor CMPS03 dan Kompas104 Gambar 4.9 Ilustrasi Cara Pengukuran Suhu Api Lilin Menggunakan Sensor

TPA81 ... 105

Gambar 4.10 Ilustrasi Cara Pendeteksian Api Lilin Menggunakan Sensor

UVTron ... 107

Gambar 4.11 Pendeteksian Objek Halangan dengan Konfigurasi Normally Open


(20)

Universitas Kristen Maranatha xx

Gambar 4.12 Pendeteksian Objek Halangan dengan Konfigurasi Normally

Closed (NC) dari Microswitch... 110

Gambar 4.13 Ilustrasi Pendeteksian Objek Berwarna Putih dengan Menggunakan Rangkaian Sensor Warna ... 111

Gambar 4.14 Ilustrasi Pengaktifan Robot LADY dengan Menggunakan Sound Activation... 112

Gambar 4.15 Konfigurasi Sudut Awal pada Home... 113

Gambar 4.16 Pola Gerak Navigasi dengan Sudut Awal Konfigurasi 1 ... 114

Gambar 4.17 Pola Gerak Navigasi dengan Sudut Awal Konfigurasi 2 ... 114

Gambar 4.18 Pola Gerak Navigasi dengan Sudut Awal Konfigurasi 3 ... 115

Gambar 4.19 Pola Gerak Navigasi dengan Sudut Awal Konfigurasi 4 ... 115

Gambar 4.20 Pola Gerak Navigasi dengan Sudut Awal Konfigurasi 5 ... 116

Gambar 4.21 Pola Gerak Navigasi dengan Sudut Awal Konfigurasi 6 ... 116

Gambar 4.22 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 1 dengan Arah Awal Konfigurasi 4 Berdasarkan Algoritma ... 117

Gambar 4.23 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 1 dengan Arah Awal Konfigurasi 4 ... 119

Gambar 4.24 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 2 dengan Arah Awal Konfigurasi 5 Berdasarkan Algoritma ... 120

Gambar 4.25 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 2 dengan Arah Awal Konfigurasi 5 ... 122


(21)

Universitas Kristen Maranatha xxi

Gambar 4.26 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 3 dengan Arah Awal Konfigurasi 6 Berdasarkan Algoritma ... 123 Gambar 4.27 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 3

dengan Arah Awal Konfigurasi 6 ... 125 Gambar 4.28 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 4

dengan Arah Awal Konfigurasi 1 Berdasarkan Algoritma ... 126 Gambar 4.29 Pola Gerak Mencari dan Memadamkan Api Lilin pada Pola 4


(22)

LAMPIRAN A

FOTO ROBOT LADY


(23)

A-1

Tampak Depan


(24)

A-2

Tampak Samping Kiri


(25)

A-3

Tampak Atas


(26)

A-4

Foto Pembangkit DTMF


(27)

LAMPIRAN B

PROGRAM PADA MIKROKONTROLER

ATMEGA16


(28)

B-1

PROGRAM UTAMA /***************************************************** This program was produced by the

CodeWizardAVR V1.25.3 Standard Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version : Date : 5/9/2009

Author : F4CG Company : F4CG Comments:

Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small

External SRAM size : 0 Data Stack size : 256

*****************************************************/ #include <mega16.h>

#include <delay.h> #include <stdio.h> // I2C Bus functions #asm

.equ __i2c_port=0x12 ;PORTD .equ __sda_bit=6

.equ __scl_bit=7 #endasm

#include <i2c.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC #endasm

#include <lcd.h>

// Declare your global variables here

unsigned long int a,b,c,jaraka,jarakb,jarakc,kanan,kiri,ki,ka; char data[9],text[32],bil1,bil2; int x,i,temp,sudut,y,cek,r3,r2,r1,r4; #include <term.h> #include <kompas.h> #include <srf_kanan.h> #include <srf_depan.h> #include <srf_kiri.h> #include <lcd.h> #include <maju.h> #include <belok_kiri.h> #include <belok_kanan.h> #include <stop.h> #include <mundur.h> #include <koreksi_kiri.h> #include <koreksi_kanan.h> #include <furniture.h> #include <maju_20.h>


(29)

B-2 #include <maju_10h> #include <belok_kanan_90.h> #include <belok_kanan_180.h> #include <belok_kiri_90.h> #include <belok_kiri_180.h> #include <loop_1.h> #include <loop_2.h> #include <loop_3.h> #include <kipas.h> #include <belok_kiri_api.h> #include <belok_kanan_api.h> #include <cari_api.h> #include <cari_api_beda.h> #include <cari_api_lain.h> void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=Out Func3=In Func2=Out Func1=In Func0=Out // State7=T State6=T State5=P State4=0 State3=P State2=0 State1=P State0=0

PORTA=0x2A; DDRA=0x15; // Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00; // Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00; // Port D initialization

// Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x36;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 1382.400 kHz

// Mode: Ph. & fr. cor. PWM top=ICR1 // OC1A output: Non-Inv.

// OC1B output: Non-Inv. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off


(30)

B-3 // Input Capture Interrupt: Off

// Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0xA0; TCCR1B=0x12; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x36; ICR1L=0x00; OCR1AH=0x04; OCR1AL=0x0D; OCR1BH=0x04; OCR1BL=0x0D;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00;

// LCD module initialization lcd_init(16);

while (1) {

if(PINB.0==1) //sound activation on {

y=304; //inisialisasi arah lurus lorong kanan=0;

kiri=0;

k1: kompas();

if(sudut>=y-5 && sudut<=y+5)

goto lorong_1; else { belok_kiri(); goto k1; } lorong_1: loop_1(); if (kanan<1)


(31)

B-4 goto lorong_1;

if (kanan==1) goto lorong_2; lorong_2: loop_1();

if (kanan<2) goto lorong_2; if (kanan==2) goto ruang_3;

ruang_3: maju_10();

if (PIND.0==0) //uvtron detek api { stop(); delay_ms(500); cari_api(); goto cari_pintu3; } else { belok_kanan_180();furniture(); goto lorong_2_lagi; } cari_pintu3: r3=304; kompas();

if(sudut<=r3+5 && sudut>=r3-5) {

satu: srf_depan(); srf_kiri(); lcd();

if(jarakb<=20 && jarakc<=30) { belok_kanan_90();furniture(); maju_20();furniture(); maju_10();furniture(); goto cari_pintu3; }

if(jarakb<=20 && jarakc>=70) { goto lorong_2_lagi; } else { maju();furniture(); goto satu; } } else { belok_kiri();furniture(); goto cari_pintu3; } lorong_2_lagi: loop_2(); srf_kanan(); lcd(); if (jaraka<=70) goto lorong_2_lagi; else


(32)

B-5 goto lorong_3; lorong_3: loop_1(); if (kanan<4) goto lorong_3; if (kanan==4) goto ruang_2; ruang_2: maju_10();

if (PIND.0==0) //uvtron detek api { stop(); delay_ms(500); cari_api(); goto cari_pintu2; } else { belok_kanan_180();furniture(); goto lorong_3_lagi; } cari_pintu2: r2=225; r3=304; kompas();

if(sudut<=r3+5 && sudut>=r3-5) {

dua: srf_depan(); lcd(); if(jarakb<=20) { belok_kiri_90();furniture(); goto lorong_3_lagi; } else { maju();furniture(); goto dua; } } else { belok_kanan();furniture(); goto cari_pintu2; } lorong_3_lagi: maju();furniture(); srf_kiri(); lcd();

if(jarakc<=70) //masih dalam ruang2 goto lorong_3_lagi; else //sudah di lorong 3 { srf_depan();lcd(); if(jarakb>=70) goto ruang_1a; else {


(33)

B-6 ngeloop2: loop_2();

srf_kanan(); lcd(); if (jaraka<=70) goto ngeloop2; else goto ruang_1b; } } ruang_1a: maju_10();

if (PIND.0==0) //uvtron detek api { stop(); delay_ms(500); cari_api_beda(); goto cari_pintu1a; } else { belok_kanan_180();furniture(); goto lorong_3_again; } ruang_1b: maju_10();

if (PIND.0==0) //uvtron detek api { stop(); delay_ms(500); cari_api_lain(); goto cari_pintu1b; } else { belok_kiri_180();furniture(); goto lorong_III_again; } cari_pintu1b: r1=123; kompas();

if(sudut<=r1+5 && sudut>=r1-5) {

enam: srf_depan(); srf_kiri(); srf_kanan();

lcd();

if(jarakb<=20 && jarakc<=30) {

belok_kanan_90();furniture(); maju_20();furniture(); goto cari_pintu1b; }

if(jarakb<=20 && jaraka>=100) //udah di lorong goto lorong_III_again;

else //dalam ruang1b {


(34)

B-7 goto enam; } } else { belok_kanan();furniture(); goto cari_pintu1b; } lorong_III_again: loop_1(); if(kanan<7) goto lorong_III_again; if(kanan==7); goto lorong_4; cari_pintu1a: r1=123; kompas();

if(sudut<=r1+5 && sudut>=r1-5) {

tiga: srf_depan(); srf_kanan(); lcd(); if(jarakb<=20) { belok_kiri_90();furniture(); maju_20();furniture(); goto cari_pintu1a; } else {

if(jaraka>=100) //udah di lorong goto lorong_3_again; else //dalam ruang1a

{ maju();furniture(); goto tiga; } } } else { belok_kanan();furniture(); goto cari_pintu1a; } lorong_3_again: loop_1(); if(kanan<6) goto lorong_3_again; if(kanan==6) goto lorong_4; lorong_4: srf_kiri(); lcd();

if(jarakc>=60 && jarakc<=80) {


(35)

B-8 goto ruang_4a; } else goto lorong_4a; ruang_4a: maju_10();

if (PIND.0==0) //uvtron detek api { stop(); delay_ms(500); cari_api(); goto cari_pintu4a; } else { belok_kanan_180();furniture(); goto lorong_4b; } cari_pintu4a: r3=304; kompas();

if(sudut<=r3+5 && sudut>=r3-5) {

empat: srf_depan(); srf_kiri();lcd();

if(jarakb<=20 && jarakc<=30) { belok_kanan_90();furniture(); maju_20();furniture(); maju_10();furniture(); goto cari_pintu4a; }

if(jarakb<=20 && jarakc>=70) { goto lorong_4b; } else { maju();furniture(); goto empat; } } else { belok_kiri();furniture(); goto cari_pintu4a; } lorong_4b: loop_3(); if(kiri<3) goto lorong_4b; if(kiri==3) goto home;

lorong_4a://kalo ruang 4nya yang satu lagi loop_3();

if(kiri<2)

goto lorong_4a; if(kiri==2)


(36)

B-9 goto ruang_4b; ruang_4b: maju_20(); belok_kiri_90();

if (PIND.0==0) //uvtron detek api { stop(); delay_ms(500); cari_api(); goto cari_pintu4b; } else { belok_kanan_180();furniture(); goto home;// mau ke home }

cari_pintu4b:

r4=36; kompas();

if(sudut<=r4+5 && sudut>=r4-5) {

lima: srf_depan(); srf_kiri();

if(jarakb<=20 && jarakc<=30) { belok_kanan_90();furniture(); maju_20();furniture(); maju_10();furniture(); goto cari_pintu4b; }

if(jarakb<=20 && jarakc>=70) { goto home; } else { maju();furniture(); goto lima; } } else { belok_kiri();furniture(); goto cari_pintu4b; }

home: //mau ke HOME loop_2(); srf_depan();

if(jarakb<=20 && PINB.3==1) goto berhenti; else goto home; berhenti: stop(); goto berhenti; } else stop(); }; }


(37)

B-10 SUBPROGRAM PENGGUNAAN SENSOR TPA81 char data[9],text[32];

int x,i;

void term (void) { lcd_clear(); i2c_start(); i2c_write(0xd0); i2c_write(1); i2c_start(); i2c_write(0xd1); data[0]=i2c_read(1); data[1]=i2c_read(1); data[2]=i2c_read(1); data[3]=i2c_read(1); data[4]=i2c_read(1); data[5]=i2c_read(1); data[6]=i2c_read(1); data[7]=i2c_read(1); data[8]=i2c_read(0); i2c_stop(); x=data[1]; for(i=2;i<9;i++) { if (x<data[i]) { x=data[i]; } if (x>=data[i]) { x=x; } } sprintf(text,"%2d",x); lcd_puts(text); delay_ms(50); }


(38)

B-11 SUBPROGRAM PENGGUNAAN SENSOR CMPS03 char bil1,bil2;

int temp,sudut; void kompas (void) {

i2c_start(); i2c_write(0xc0); i2c_write(1); i2c_start(); i2c_write(0xc1); temp=i2c_read(1); bil2=i2c_read(1); bil1=i2c_read(0); i2c_stop();

sprintf(text,"%5d",temp); lcd_clear();

lcd_puts(text);

sudut=(bil2*256+bil1)/10; sprintf(text,"%5d",sudut); lcd_gotoxy(0,1);lcd_puts(text); delay_ms(50);

delay_ms(50); }


(39)

B-12 SUBPROGRAM PENGGUNAAN SENSOR SRF04 unsigned long int a,b,c,jaraka,jarakb,jarakc;

char text[32];

void srf_kanan (void) {

PORTA.0=1;//input trigger delay_us(10);

PORTA.0=0; a=0;

backa: if(PINA.1==1)//output { delay_us(100); a++; goto ceka; } else goto backa; ceka: if(PINA.1==1) goto backa; else

jaraka=340*a/200; }

void srf_depan (void) {

PORTA.2=1;//input trigger delay_us(10);

PORTA.2=0; b=0;

backb: if(PINA.3==1)//output { delay_us(100); b++; goto cekb; } else goto backb; cekb: if(PINA.3==1) goto backb; else

jarakb=340*b/200; }

void srf_kiri (void) {

PORTA.4=1;//input trigger delay_us(10);

PORTA.4=0; c=0; backc: if(PINA.5==1)//output {

delay_us(100); c++;


(40)

B-13 goto cekc;

} else goto backc; cekc: if(PINA.5==1) goto backc; else

jarakc=340*c/200; }

void lcd (void) {lcd_clear();

sprintf(text," %3d %3d %3d",jarakc,jarakb,jaraka); lcd_puts(text);

delay_ms(200); }


(41)

B-14 SUBPROGRAM MENJALANKAN RODA ROBOT void maju (void)

{

OCR1A=750;

OCR1B=1500;

}

void belok_kiri (void) {

OCR1A=750; OCR1B=480; }

void belok_kanan (void) {

OCR1A=1350;

OCR1B=1500;

}

void stop (void) {

OCR1A=1050;

OCR1B=990;

}

void mundur (void) {

OCR1A=1350;

OCR1B=480;

}

void koreksi_kiri (void)

{ OCR1A=750;

OCR1B=990;

}

void koreksi_kanan (void)

{ OCR1A=1050;

OCR1B=1500;

}

void maju_20 (void) { maju(); delay_ms(3030); furniture(); }

void maju_10 (void) {

maju();

delay_ms(1500); furniture(); }

void belok_kanan_90 (void) {

belok_kanan(); delay_ms(2500); furniture(); }


(42)

B-15 void belok_kanan_180 (void)

{

belok_kanan(); delay_ms(5000); furniture(); }

void belok_kiri_90 (void) {

belok_kiri(); delay_ms(2500); furniture(); }

void belok_kiri_180 (void) {

belok_kiri(); delay_ms(5000); furniture(); }

void belok_kiri_api (void) {

OCR1A=900;

OCR1B=900;

}

void belok_kanan_api (void) {

OCR1A=1100;

OCR1B=1050;


(43)

B-16 SUBPROGRAM MENGHINDARI HALANGAN FURNITURE void furniture (void)

{

if(PINB.2==1) //depan kiri kena { stop(); delay_ms(500); belok_kanan(); delay_ms(500); }

if(PINB.1==1) //depan kanan kena { stop(); delay_ms(500); belok_kiri(); delay_ms(500); }

if(PINA.7==1) //blkang kiri kena { stop(); delay_ms(500); belok_kiri(); delay_ms(500); }

if(PINA.6==1) //blkang kanan kena { stop(); delay_ms(500); belok_kanan(); delay_ms(500); }

if(PINB.4==0) //depan kanan kena { stop(); delay_ms(500); mundur(); delay_ms(2000); belok_kiri(); delay_ms(1000); }

if(PIND.3==0) //depan kiri kena { stop(); delay_ms(500); mundur(); delay_ms(2000); belok_kanan(); delay_ms(1000); }

if (PIND.3==0 && PINB.4==0) {

mundur(); delay_ms(2000); }


(44)

B-17 SUBPROGRAM UNTUK MELAKUKAN MANUVER unsigned long int kanan,kiri;

void loop_1 (void) { atas_lagi: furniture(); srf_kanan(); srf_depan(); srf_kiri(); lcd();

if(jaraka>=12 && jaraka<=25) { if(jarakb<20) { furniture(); belok_kiri(); delay_ms(100); } else { maju(); furniture(); } } else { if(jaraka<12) { koreksi_kiri(); delay_ms(500);furniture(); koreksi_kanan(); delay_ms(300);furniture(); maju(); delay_ms(500); furniture(); } else { if(jaraka<=70) { koreksi_kanan();furniture(); delay_ms(500); koreksi_kiri(); furniture(); delay_ms(300); maju(); delay_ms(500);furniture(); } else { if(kanan<1) {

if(jaraka > 70 && jarakc >70)

{ furniture(); belok_kanan_90();furniture(); kanan++; maju_20();furniture(); maju_20();furniture(); }


(45)

B-18 else goto atas_lagi; } else {

if(jaraka > 70)

{ furniture(); belok_kanan_90();furniture(); kanan++; maju_20();furniture(); maju_20();furniture(); } else goto atas_lagi; } } } } }

void loop_2 (void) { srf_depan(); lcd(); if(jarakb<20) { belok_kiri_90(); furniture(); } else loop_1(); }

void loop_3 (void) {

srf_depan();

lcd();

if(jarakb<20)

{

belok_kiri_90(); furniture();

kiri++;

}

else loop_1(); }


(46)

B-19 SUBPROGRAM UNTUK MEMUTAR KIPAS

void kipas (void) { PORTD.1=1; PORTD.2=0; delay_ms(9000); PORTD.1=0; }

SUBPROGRAM UNTUK MENCARI POSISI API LILIN unsigned long int ki,ka;

int x,i,cek; void cari_api (void) { ka=0;cek=1; cek_api: term(); if (x<=40) { belok_kanan_api();furniture(); delay_ms(500); ka++; if(ka<=32) goto cek_api; else { cek++; if(cek==3) { maju_10();furniture(); } else { belok_kanan_90();furniture(); maju_20(); furniture(); ka=0; goto cek_api; } } }

else //udah dapet posisi api {

dapet: if(PINB.3==1) //sudah masuk lingkaran putih

{ kipas(); mundur(); delay_ms(100); } else { maju();furniture(); goto dapet; } } }


(47)

B-20 void cari_api_beda (void)

{ ki=0;cek=1; cek_api: term(); if (x<=40) { belok_kiri_api();furniture(); delay_ms(500); ki++; if(ki<=32) goto cek_api; else { cek++; if(cek==3) { maju_10();furniture(); } else { maju_20();furniture(); belok_kiri_90();furniture(); ki=0; goto cek_api; } } }

else //udah dapet posisi api {

dapet: if(PINB.3==1) //sudah masuk lingkaran putih

{ kipas(); mundur(); delay_ms(100); } else { maju();furniture(); goto dapet; } } }


(48)

B-21 void cari_api_lain (void)

{ ka=0;cek=1; cek_api: term(); if (x<=40) { belok_kanan_api();furniture(); delay_ms(500); ka++; if(ka<=32) goto cek_api; else { cek++; if(cek==3) { maju_10();furniture(); } else { maju_20();furniture(); belok_kanan_90();furniture(); ka=0; goto cek_api; } } }

else //udah dapet posisi api {

dapet: if(PINB.3==1) //sudah masuk lingkaran putih

{ kipas(); mundur(); delay_ms(100); } else { maju();furniture(); goto dapet; } } }


(49)

LAMPIRAN C


(50)

C-1


(51)

(52)

(53)

(54)

(55)

(56)

(57)

(58)

(59)

(60)

(61)

(62)

(63)

C-14

DIAGRAM ALIR PROGRAM SENSOR TPA81

Keterangan :

data[0]= variabel yang berisi data register 1. data[1]= variabel yang berisi data register 2. data[2]= variabel yang berisi data register 3. data[3]= variabel yang berisi data register 4. data[4]= variabel yang berisi data register 5. data[5]= variabel yang berisi data register 6. data[6]= variabel yang berisi data register 7. data[7]= variabel yang berisi data register 8. data[8]= variabel yang berisi data register 9. x = variabel yang berisi data[i].


(64)

C-15

DIAGRAM ALIR PROGRAM SENSOR CMPS03

Keterangan :

temp = variabel yang berisi data register 1. bil2 = variabel yang berisi data register 2. bil1 = variabel yang berisi data register 3. sudut = data sudut arah mata angin dalam 1 word.


(65)

C-16

DIAGRAM ALIR PROGRAM SENSOR SRF04

Keterangan :

untuk Sensor SRF04 kanan Æ n=0, x=a, dan m=1. untuk Sensor SRF04 depan Æ n=2, x=b, dan m=3. untuk Sensor SRF04 kiri Æ n=4, x=c, dan m=5.

x = variable untuk menghitung waktu pantulan gelombang. jarakx = variable yang berisi nilai jarak yang dihitung berdasarkan x.


(66)

C-17


(67)

C-18


(68)

C-19


(69)

C-20


(70)

C-21


(71)

(72)

(73)

LAMPIRAN D

PANDUAN KRCI 2009

DIVISI SENIOR BERODA


(74)

D-1

Contoh Konfigurasi Arena Lapangan


(75)

D-2

Kandidat Posisi Lilin, Furniture, Home,

(

Titik-titik berjarak 10-15 cm

)

Kandidat Posisi Hanging Objetcs (kuning) dan Uneven Floor (biru)


(76)

D-3


(77)

Parallax, Inc. • Devantech SRF04 Ultrasonic Range Finder (#28015) • 10/2003 Page 1

599 Menlo Drive, Suite 100 Rocklin, California 95765, USA

Office: (916) 624-8333

Fax: (916) 624-8003

General: info@parallax.com

Technical: support@parallax.com

Web Site: www.parallax.com

Educational: www.stampsinclass.com

Devantech SRF04 Ultrasonic Range Finder

(#28015)

The Devantech SRF04 ultrasonic range finder provides precise, non-contact distance measurements from about 3 cm (1.2 inches) to 3 meters (3.3 yards). It is very easy to connect to BASIC Stamps or the Javelin, requiring only two I/O pins.1 The SRF04 library makes this device very simple to use and is an ideal component for robotics applications.

The SRF04 works by transmitting an ultrasonic (well above human hearing range) pulse and measuring the time it takes to "hear" the pulse echo. Output from the SRF04 is in the form of a variable-width pulse that corresponds to the distance to the target.

The SRF04 is designed and manufactured by Devantech, who provides additional technical resources for the device. Their web site is http://www.robot-electronics.co.uk.

Features

• Voltage – 5 v

• Current – 30 mA Typ. 50mA Max. • Frequency – 40 kHz

• Max Range - 3 m • Min Range - 3 cm

• Sensitivity - Detect 3 cm diameter broom handle at > 2 m • Input Trigger – 10 uS Min. TTL level pulse

• Echo Pulse - Positive TTL level signal, width proportional to range.

• Small Size – (1.7 in x .8 in x .7 in height) 43 mm x 20 mm x 17 mm height


(78)

Parallax, Inc. • Devantech SRF04 Ultrasonic Range Finder (#28015) • 10/2003 Page 2 Connection to the BASIC Stamp 2

The SRF04 has four through-hole locations where you will need to solder wires to the hardware. These wires are not included with the kit.

Source Code Example

The SRF04 detects objects by emitting a short burst of sound and "listening" for the echo. Under control of the BASIC Stamp, the SRF04 emits an ultrasonic (40 kHz) sound pulse. This pulse travels through the air at about 1.125 feet per millisecond (the speed of sound), hits an object and then bounces back. By measuring the time between the transmission of the pulse and the echo return, the distance to the object can be determined.

The SRF04 outputs a high-going pulse that corresponds to time required for the echo to return. RCTIME (for the BS2 and BS2e) and PULSIN (for the BS2sx, BS2p, and BS2pe) can be used to measure it and determine the distance to the target. Using RCTIME on the BS2 and BS2e allows us to measure the echo


(79)

Parallax, Inc. • Devantech SRF04 Ultrasonic Range Finder (#28015) • 10/2003 Page 3

pulse without "seeing" the low-to-high transition of the echo's leading edge – something we may miss due to the setup time for PULSIN on the BS2 and BS2e.

There are a couple of small technical details to be aware of, but otherwise, coding for the SRF04 is very straight forward. The trigger pulse must be at least 10 microseconds long. PULSOUT can do this for us. The other requirement is that we must wait at least 10 milliseconds between measurements.

The heart of this program is a subroutine called Get_Sonar. This routine started with the code sample that came with the sensor. While the Devantech example is perfectly suitable and easy to understand, the results seemed to bounce around a bit. Some software filtering (averaging several readings together) would smooth things out and make the output more useful.

The use of RCTIME versus PULSIN for the echo timing measurement is determined at compile time by the BASIC Stamp Editor/Compiler. The structure of the program is such that it may be used with any BASIC Stamp module. If the $STAMP directive does not match the module you're attempting to program, the editor will assist in correcting this declaration for you.

The value returned by the routine will be stored in rawDist, so the code starts by clearing it. Then, within a loop, the code takes five readings from the sensor and averages them together. This may look a bit odd because we usually think about adding numbers and then dividing to get an average. We do the dividing first and then add the result into the return value because we could have an overflow if we do all the addition first. Yes, the dividing first technique can lead to rounding errors, but only if the values were very small. We didn’t observe this when using the SRF04. Since one inch (the minimum range of the sensor) is about 74 microseconds, dividing by five (loop value) each time through causes no problem. Once returned to the main program the rawDist value is converted to centimeters by dividing the echo duration by the appropriate factor (ToCm) – this factor determined by the BASIC Stamp module installed. Conversion from centimeters to inches is straightforward math; in this case the centimeters value is multiplied by 3.937 to convert to tenths of inches.


(80)

Parallax, Inc. • Devantech SRF04 Ultrasonic Range Finder (#28015) • 10/2003 Page 4

' ========================================================================= '

' File... SRF04_Demo.BS2

' Purpose.... Devantech SRF04 Ultrasonic Range Finder

' Author... Parallax, Inc. (Copyright 2003 - All Rights Reserved) ' E-mail... support@parallax.com

' Started.... 06 MAR 2002 ' Updated.... 01 OCT 2003 '

' {$STAMP BS2} ' {$PBASIC 2.5} '

' ========================================================================= ' ---[ Program Description ]--- '

' This program uses the Devantech SRF04 to measure the distance between the ' unit and a target. Display is raw value, centimeters, and inches.

' ---[ Revision History ]--- '

' 01 OCT 2003 : Updated for PBASIC 2.5 and for any BASIC Stamp module

' ---[ I/O Definitions ]--- '

Trigger PIN 0 Echo PIN 1

' ---[ Constants ]--- #SELECT $STAMP

#CASE BS2, BS2E

Trig10 CON 5 ' trigger pulse = 10 uS ToCm CON 30 ' conversion factor to cm #CASE BS2SX, BS2P

Trig10 CON 13 ToCm CON 78 #CASE BS2PE

Trig10 CON 5 ToCm CON 31 #ENDSELECT

' ---[ Variables ]--- samples VAR Nib ' loop counter

pWidth VAR Word ' pulse width from sensor rawDist VAR Word ' filtered measurment cm VAR Word ' centimeters


(81)

Parallax, Inc. • Devantech SRF04 Ultrasonic Range Finder (#28015) • 10/2003 Page 5

' ---[ Initialization ]--- Setup:

LOW Trigger DEBUG CLS,

"Devantech SRF04 Demo", CR, "---", CR, "Raw... ", CR, "Centimeters... ", CR, "Inches... "

' ---[ Program Code ]--- Main:

DO

GOSUB Get_Sonar ' take sonar reading DEBUG CRSRXY, 15, 2, DEC rawDist, CLREOL

cm = rawDist / ToCm ' convert to centimeters DEBUG CRSRXY, 15, 3, DEC cm, CLREOL

inches = cm */ $03EF ' x 3.937 (to 0.1 inches) DEBUG CRSRXY, 15, 4,

DEC inches / 10, ".", DEC1 inches, CLREOL

PAUSE 250 ' delay between readings LOOP

END

' ---[ Subroutines ]--- Get_Sonar:

rawDist = 0 ' clear measurement FOR samples = 1 TO 5 ' take five samples PULSOUT Trigger, Trig10 ' 10 uS trigger pulse #SELECT $STamp

#CASE BS2, BS2E

RCTIME Echo, 1, pWidth ' measure pulse #CASE #ELSE

PULSIN Echo, 1, pWidth ' measure pulse #ENDSELECT

rawDist = rawDist + (pWidth / 5) ' simple digital filter PAUSE 10 ' minimum period between NEXT


(82)

Application note Halaman 1

Application Note

CMPS03 – Devantech Magnetic Compass AN-09

Oleh: Tim Digiware dan Hadid T.B. - Sihmanto - Idam F.R. (Institut Teknologi Sepuluh Nopember)

avigasi sangatlah penting untuk semua benda bergerak, baik manusia maupun robot. Salah satu alat untuk membantu navigasi adalah kompas. Dan aplikasi kali ini akan membuat sebuah kompas digital portable dengan menggunakan CMPS03 – Devantech Magnetic Compass yang memiliki resolusi hingga 0,1 derajat dan 2 pilihan antarmuka yaitu I2C atau PWM. Modul CMPS03 ini dapat juga digunakan untuk keperluan robotika.

Komponen yang diperlukan:

- 1 DT-51 Low Cost Nano System

- 1 Character LCD 8x2 (atau ukuran lain dengan driver HD44780 / kompatibel) - 1 CMPS03 – Devantech Magnetic Compass

- 1 Resistor variabel 2k ohm - 2 Resistor 1k ohm

- 2 Resistor 47k ohm - 1 Tactile switch - 2 Jumper - 1 Header 2x3

Spesifikasi untuk modul CMPS03 – Devantech Magnetic Compass, yaitu: - Catu daya : +5 VDC,

- Konsumsi arus : 15 mA,

- Antarmuka : I2C atau PWM, - Akurasi : 3-4 derajat, - Resolusi : 0,1 derajat,

- Waktu konversi : 40ms atau 33,3ms dapat dipilih,

- Telah dikalibrasi pada daerah dengan sudut inklinasi 67 derajat.

Gambar 1 Alokasi Pin dari CMPS03


(83)

Application note Halaman 2

A

dapun blok diagram sistem secara keseluruhan adalah sebagai berikut:

Gambar 2 Blok Diagram AN-09

H

ubungan antaramodul-modul tersebut adalah sebagai berikut: DT-51 Low Cost Nano

System CMPS03

VCC + 5V

GND GND P3.0* SCL P3.2* SDA P3.4* PWM * Pin ini tidak mutlak dan dapat diganti pin lain dengan cara mengubah program

Tabel 1

Hubungan DT-51 Low Cost Nano System dengan CMPS03 secara I2C dan PWM

DT-51 Low Cost Nano

System Character LCD 8x2

VCC VDD GND VSS - VO**

GND R/W P1.6* RS P1.7* E P1.4* DB4 P1.5* DB5 P1.2* DB6 P1.3* DB7 * Pin ini tidak mutlak dan dapat diganti pin lain dengan cara mengubah program

** Pin VO dihubungkan ke resistor variabel seperti pada Gambar 3 Tabel 2

Hubungan DT-51 Low Cost Nano System dengan Character LCD 8x2

Gambar 3

Rangkaian Kontras untuk Character LCD 8x2

CMPS03 DT-51 Low Cost Nano

System

Character LCD 8x2


(84)

Application note Halaman 3 Selain mengikuti tabel hubungan di atas, buatlah rangkaian jumper seperti pada Gambar 4. Lalu pada saat menggunakan komunikasi I2C, hubungkan pin 2 & 4 serta pin 1 & 3 dari JP1 (Gambar 4) untuk memberi resistor pullup 1k ohm pada jalur SCL & SDA. Sedangkan pada saat menggunakan metode PWM, hubungkan pin 3 & 5 serta 4 & 6 dari JP1 (Gambar 4) untuk memberi resistor pullup sebesar 47k ohm pada jalur SCL & SDA.

Gambar 4

Rangkaian Jumper untuk Pemilihan Resistor Pullup pada Jalur SCL & SDA

Lepaslah AT89C2051 dari board DT-51 Low Cost Nano System. Dan programlah i2c_final.hex (untuk metode komunikasi I2C) atau pwm_final.hex (untuk metode PWM) ke dalam mikrokontroler AT89C2051 menggunakan TOP2004 Universal Programmer atau DT-HiQ Programmer atau DT-51 MinSys v3.0 + DT-51 ProgPAL atau divais paralel programmer lain yang mendukung AT89C2051. Pasanglah kembali AT89C2051 yang telah diprogram ke board DT-51 Low Cost Nano System dan berilah catu daya yang sesuai pada rangkaian.

Gambar 5

Rangkaian Tactile Switch untuk Proses Calibrate

Gambar 6

Orientasi CMPS03 yang Menghasilkan Pembacaan Sudut 0º


(85)

Application note Halaman 4 Modul CMPS03 telah terkalibrasi di pabriknya namun karena lokasi pabriknya berbeda dengan Indonesia dalam hal sudut inklinasinya, maka modul ini perlu dikalibrasi ulang. Cara mengkalibrasi CMPS03 ada dua cara, yaitu dengan metode I2C atau pin (manual). Dalam aplikasi ini dipilih kalibrasi dengan metode pin (manual) karena dinilai lebih mudah dan efisien. Berikut ini adalah langkah-langkahnya:

1. Gunakan rangkaian tactile switch seperti pada Gambar 5.

2. Posisikan orientasi utara dari CMPS03 (Gambar 6) ke arah utara bumi yang sebenarnya lalu tekan tactile switch.

3. Putar secara perlahan-lahan sampai orientasi utara dari CMPS03 menuju ke arah timur bumi, lalu tekan tactile switch.

4. Putar secara perlahan-lahan sampai orientasi utara dari CMPS03 menuju ke arah selatan bumi, lalu tekan tactile switch.

5. Putar secara perlahan-lahan sampai orientasi utara dari CMPS03 menuju ke arah barat bumi, lalu tekan tactile switch.

6. Periksalah apakah kompas telah menampilkan arah yang benar sesuai dengan arah sebenarnya. Jika belum sesuai ulangi lagi mulai langkah 1.

7. Jika penunjukan sudah sesuai dengan arah sebenarnya, maka CMPS03 dinyatakan telah terkalibrasi dengan baik.

Kalibrasi ini hanya dilakukan sekali saja, karena hasil dari pengkalibrasian disimpan dalam EEPROM yang terdapat pada CMPS03. Untuk penggunaan selanjutnya (pada lokasi dengan sudut inklinasi sama), tidak perlu dilakukan kalibrasi ulang.

F

lowchart pogram i2c_final.bas untuk metode I2C adalah sebagai berikut:

Gambar 7

Flowchart Program i2c_final.bas START

Konfigurasi LCD Konfigurasi pin Deklarasi variabel

Tulis “*KOMPAS*” ke LCD baris 1

A Å baca register 2 CMPS03

L_value Å baca register 3 CMPS03

Geser kiri variabel A sebanyak 8 bit Hapus tampilan

LCD

A Å A OR L_value

Tunggu 1 detik S Å A / 10; Y = FUSING(S, ###.#)

Hapus LCD baris 2 Tulis Y ke LCD baris 2


(86)

Application note Halaman 5

P

rogram utama i2c_final.bas akan diproses sebagai berikut:

1. Proses yang pertama dilakukan adalah konfigurasi LCD, konfigurasi pin I/O (Sdl & Sca) untuk jalur komunikasi I2C, serta deklarasi variabel yaitu antara lain:

• Addres = variabel I/O untuk menampung alamat register yang akan dibaca pada pemanggilan prosedur Read_compass,

• Value = variabel I/O untuk menampung hasil pembacaan register pada pemanggilan prosedur Read_compass,

• L_value = variabel bertipe byte untuk menampung 8 bit data LSB hasil pembacaan CMPS03,

• A = variabel bertipe word untuk menampung 8 / 16 bit data hasil pembacaan CMPS03,

• Y = variabel bertipe string untuk menampung data yang akan dituliskan ke LCD.

• S = variabel bertipe single untuk menampung data bernilai real yang merupakan hasil bagi dari proses pembagian variabel A.

2. Program akan menghapus tampilan LCD, lalu menampilkan “KOMPAS” pada LCD baris 1.

3. Setelah itu dilakukan pembacaan data pada register 2 dan 3 dari modul CMPS03 (Tabel 3) menggunakan prosedur Read_compass. Lalu hasil pembacaan tersebut diletakkan pada variabel A (data dari register 2 – MSB) dan L_value (data dari register 3 – LSB).

4. Program melakukan pengeseran nilai dalam variabel A sebanyak 8 bit ke kiri. Lalu variabel A di-OR-kan dengan variabel L_value dan hasilnya disimpan ke dalam variabel A.

5. Variabel A dibagi dengan 10 dan hasil baginya disimpan ke dalam variabel S. Lalu dengan menggunakan fungsi FUSING, dilakukan pengubahan format data dari real (variabel S) ke dalam bentuk string dan disimpan ke dalam variabel Y.

6. Tampilan LCD pada baris 2 dihapus, lalu ditulisi data hasil pembacaan kompas (data dari variabel Y). 7. Tunggu selama 1 detik lalu kembali ke langkah .

Tabel 3

Alokasi Internal Register CMPS03

P

rogram pwm_final.bas secara garis besar akan diproses sebagai berikut:

1. Proses yang pertama dilakukan adalah konfigurasi LCD (alokasi pin dan ukuran LCD); konfigurasi Timer0 (mode 1 dan gate-internal); konfigurasi pin I/O (input sinyal PWM); serta deklarasi variabel yaitu antara lain:

• A = variabel bertipe word untuk menampung 16 bit data Timer0 yang merupakan hasil pembacaan CMPS03 secara PWM,

• Y = variabel bertipe string untuk menampung data yang akan dituliskan ke LCD.

• S = variabel bertipe single untuk menampung data bernilai real yang merupakan hasil pengolahan data dari variabel A.


(87)

Application note Halaman 6 3. Setelah itu program mengisi register Timer0 dengan data bernilai 0. Lalu menunggu perubahan transisi

naik pada pin input sinyal PWM. Setelah terdeteksi perubahan tersebut Timer0 diaktifkan, lalu menunggu lagi pin PWM berubah menjadi logika 0 dan kemudian mematikan Timer0.

4. Program membaca data dari register Timer0 dan diletakkan ke dalam variabel A.

5. Program melakukan normalisasi data hasil pengukuran Timer0 (variabel A) disesuaikan dengan nilai crystal yang digunakan mikrokontroler dan hasilnya disimpan ke dalam variabel S. Lalu variabel S dikurangi dengan nilai offset yaitu 1000µs dan kemudian dibagi 100.

6. Lalu dengan menggunakan fungsi FUSING, dilakukan pengubahan format data dari real (variabel S) ke dalam bentuk string dan disimpan ke dalam variabel Y.

7. Tampilan LCD pada baris 2 dihapus, lalu ditulisi data hasil pembacaan kompas (data dari variabel Y). 8. Tunggu selama 1 detik lalu kembali ke langkah .

F

lowchart pogram pwm_final.bas untuk metode PWM adalah sebagai berikut:

Gambar 8

Flowchart Program pwm_final.bas Catatan:

Pada metode PWM akan diperoleh pembacaan sudut maksimum adalah 357 derajat bukan 359 derajat, hal ini karena pada program pwm_final.bas belum diberi “fiddle factor” yang berguna untuk mengurangi selisih antara modul CMPS03 dan pengukuran / osilator mikrokontroler.

L

isting program terdapat pada AN-09.ZIP. START

Konfigurasi LCD & timer Konfigurasi pin Deklarasi variabel

Tulis “*KOMPAS*” ke LCD baris 1

Counter0 Å 0

Tunggu pin PWM low

Aktifkan Timer0 Hapus tampilan

LCD A Å Counter0

Tunggu 1 detik Y = FUSING(S, ###.#)

Hapus LCD baris 2 Tulis Y ke LCD baris 2

Tunggu pin PWM high

Tunggu pin PWM low

Matikan Timer0

S Å 12 / 11,0592 S Å A * S S Å S - 1000


(88)

FLAME SENSOR

UV TRON

®

R2868

Subject to local technical requirements and regulations, availability of products included in this promotional material may vary. Please consult with our sales office. Information furnished by HAMAMATSU is believed to be reliable. However, no responsibility is assumed for possible inaccuracies or omissions.

Specifications are subjected to change without notice. No patent rights are granted to any of the circuits described herein. © 1997 Hamamatsu Photonics K. K.

Quick Detection of Flame from Distance,

Compact UV Sensor with High Sensitivity and Wide Directivity,

Suitable for Flame Detectors and Fire Alarms.

Hamamatsu R2868 is a UV TRON ultraviolet detector that makes use of the photoelectric effect of metal and the gas multiplication effect. It has a narrow spectral sensitivity of 185 to 260 nm, being completely insensitive to visible light. Unlike semiconductor detectors, it does not require optical visible-cut filters, thus making it easy to use.

In spite of its small size, the R2868 has wide angular sensitivity (directivity) and can reliably and quickly detect weak ultraviolet radiations emitted from flame due to use of the metal plate cathode (eg. it can detect the flame of a cigarette lighter at a distance of more than 5 m.).

The R2868 is well suited for use in flame detectors and fire alarms, and also in detection of invisible discharge phenomena such as corona discharge of high-voltage transmission lines.

APPLICATIONS

Flame detectors for gas/oil lighters and matches

Fire alarms

Combustion monitors for burners

Inspection of ultraviolet leakage

Detection of discharge

Ultraviolet switching GENERAL

Parameters Rating Units

Spectral Response 185 to 260 nm

Window Material UV glass —

Weight Approx. 1.5 g

Dimensional Outline See Fig. 3 —

MAXIMUM RATINGS

Parameters Rating Units

Supply Voltage 400 Vdc

Peak Current 1) 30 mA

Average Discharge Current 2) 1 mA

Operating Temperature -20 to +60 °C

CHARACTERISTICS (at 25°C)

Parameters Rating Units

Discharge Starting Voltage (with UV radiation) 280 Vdc Max. Recommended Operating Voltage 325±25 Vdc Recommended Average Discharge Current 100 µA

Background 3) 10 cpm Max

Sensitivity 4) 5000 cpm Typ.

NOTES:

1) This is the maximum momentary current that can be handled if its full width at half maximum is less than 10 µs.

2) If the tube is operated near this or higher, the service life is noticeably reduced. Use the tube within the recommended current values.

3) Measured under room illuminations (approximately 500 lux) and recommended operating conditions. Note that these values may increase if the following environmental factors are present.

1. Mercury lamps, sterilization lamps, or halogen lamps are located nearby. 2. Direct or reflected sunlight is incident on the tube.

3. Electrical sparks such as welding sparks are present. 4. Radiation sources are present.

5. High electric field (including static field) generates across the tube. 4) These are representative values for a wavelength of 200 nm and a light input

of 10 pW/cm2. In actual use, the sensitivity will vary with the wavelength of the

ultraviolet radiation and the drive circuitry employed.

Figure 1: UV TRON’s Spectral Response and Various Light Sources

TPT B0009EA

200 300 400 500 600 700 800 900 100

WAVELENGTH (nm)

RELATIVE SENSITIVITY, RELATIVE INTENSITY

(ARBITRARY UNIT)

100

50

0

UV TRON s SPECTRAL RESPONSE

SUNLIGHT

GAS

FLAME TUNGSTENLIGHT


(89)

FLAME SENSOR

UV TRON

®

R2868

1000pF +

-325±25Vdc 220pF 500V

10MΩ 4.7 kΩ* ANODE

UV TRON R2868 CATHODE

PULSE OUTPUT 10kΩ

i

Figure 2: Angular Sensitivity (Directivity)

HAMAMATSU PHOTONICS K.K., Electron Tube Center

314-5, Shimokanzo, Toyooka-village, Iwata-gun, Shizuoka-ken, 438-0193, Japan, Telephone: (81)539/62-5248, Fax: (81)539/62-2205,

U.S.A.: Hamamatsu Corporation: 360 Foothill Road, Bridgewater, N.J. 08807-0910, U.S.A., Telephone: (1)908-231-0960, Fax: (1)908-231-1218 Germany: Hamamatsu Photonics Deutschland GmbH: Arzbergerstr. 10, D-82211 Herrsching am Ammersee, Germany, Telephone: (49)8152-375-0, Fax: (49)8152-2658

France: Hamamatsu Photonics France S.A.R.L.: 8, Rue du Saule Trapu, Parc du Moulin de Massy, 91882 Massy Cedex, France, Telephone: (33)1 69 53 71 00, Fax: (33)1 69 53 71 10

United Kingdom: Hamamatsu Photonics UK Limited: Lough Point, 2 Gladbeck Way, Windmill Hill, Enfield, Middlesex EN2 7JA, United Kingdom, Telephone: (44)181-367-3560, Fax: (44)181-367-6384 North Europe: Hamamatsu Photonics Norden AB: Färögatan 7, S-164-40 Kista, Sweden, Telephone: (46)8-703-29-50, Fax: (46)8-750-58-95

Italy: Hamamatsu Photonics Italia S.R.L.: Via Della Moia, 1/E, 20020 Arese, (Milano), Italy, Telephone: (39)2-935 81 733, Fax: (39)2-935 81 741

Figure 3: Dimensional Outline (Unit: mm) Figure 4: Recommended Operating Circuit

* Be sure to connect the 4.7 kΩ resistor within 2.5 cm from the anode lead end of UV TRON.

• UV TRON Driving Circuit C3704 series (Option)

Hamamatsu also provide the driving circuit C3704 series for R2868 operation. C3704 series include a high voltage power supply and a signal processing circuit in printed circuit board, which allows to operate R2868 easily as a flame sensor with the low input voltage (DC 6 to 30 V) only.

For the details, please refer to the datasheet of C3704 series.

PRECAUTIONS FOR USE

Ultraviolet Radiation

The UV TRON itself emits ultraviolet radiation in operation. When using two or more UV TRONs at the same time in close position, care should be taken so that they do not optically interfere with each other.

Vibration and Shock

The UV TRON is designed in accordance with the standards of MIL-STD-202F (Method 204D/0.06 inch or 10g, 10- 500Hz, 15 minutes, 1 cycle) and MIL-STD-202F (Method 213B/100g, 11ms, Half-sine, 3 times). However, should a strong shock be sustained by the UV TRON (e.g. if dropped), the glass bulb may crack or the internal electrode may be deformed, resulting in deterioration of electrical characteristics. So extreme care should be taken in handling the tube.

Polarity

Connect the UV TRON with correct polarity. Should it be connected with reverse polarity, operating errors may occur.

WARRANTY.

The UV TRON is covered by a warranty for a period of one year after delivery. The warranty is limited to replacement of any defective tube due to defects traceable to the manufacturer.

TPT B0010EA

TPT B0003EA

TPT A0024EA

TPT 1008E01 MAR.1998 CR Created in Japan

ANODE CATHODE 90˚ 60˚ 60˚ 30˚ 30˚ 0˚ 90˚ 100% 80 60 40 20 90˚ 60˚ 60˚ 30˚ 30˚ 0˚ 90˚ 100% 80 60 40 20 VERTICAL VIEWING (Left fig.) HORIZONTAL VIEWING

@ (Right fig.)

UV EMISSION POINT ANODE CATHODE 9.0 ± 0.5 8 ± 1

23±1 8

18 MAX. 32 MIN.

44 MAX.

4

CATHODE LEAD UV GLASS BULB

ANODE ANODE CATHODE ANODE LEAD 12 MAX. (Side View)

LEAD: 0.7 CATHODE 5 12


(90)

UV TRON

®

DRIVING CIRCUIT

C3704 SERIES

Compact, Lightweight, Low Current Consumption, Low Cost

Operates as High Sensitivity UV Sensor with UV TRON

Suitable for Flame Detectors and Fire Alarms

Hamamatsu C3704 series UV TRON driving circuits are low current consuming, signal processing circuits for the UV TRON, well known as a high sensitivity ultraviolet detecting tube. The C3704 series can be operated as a UV sensor by connecting the UV TRON and applying DC low voltage, as they have both a high-voltage power supply and a signal processing circuit on the same printed circuit board.

Since background discharges of the UV TRON caused by natural excitation lights (such as a cosmic ray, scattered sunlight, etc.) can be cancelled in the signal processing circuit, the output signals from the C3704 series can be used without errors. When the high sensitivity sensor “UV TRON R2868” (sold separately) is used, the flame from a cigarette lighter (flame length: 25mm) can be detected even from a distance of more than 5m.

APPLICATIONS

Flame detectors for gas and oil lighters

Fire alarms

Combustion monitors for burners

Electric spark detector

UV photoelectric counter

SPECIFICATIONS

Dimensional outline ... Figure 1 Weight ... Approx. 20g Output signal ... Open collector Output (50 V, 100 mA Max.) 10 ms width pulse output (Note : 1) UV TRON supply voltage ... DC 350 V (Note : 2) Quenching time ... Approx. 50 ms Operating temperature ... -10 to +50°C (with no condensation) Suitable UV TRON ... Low voltage operation UV TRON (such as R2868) C3704 C3704-02 C3704-03 Input Voltage 10 to 30 Vdc 5Vdc ± 5% 6 to 9 Vdc Current consumption 3 mA Max. 300µA Max. 300µA Max.

Note 1: The output pulse width can be extended up to about 100s by adding a capacitor to the circuit board.

Note 2: Since the output impedance of this power supply is extremely high, an ordinary voltmeter cannot be used. Use a voltmeter that has an input impedance of more than 10 GΩ.

Subject to local technical requirements and regulations, availability of products included in this promotional material may vary. Please consult with our sales office. Information furnished by HAMAMATSU is believed to be reliable. However, no responsibility is assumed for possible inaccuracies or omissions.

Specifications are subjected to change without notice. No patent rights are granted to any of the circuits described herein. © 1997 Hamamatsu Photonics K. K.

TPT A0024EA

Figure 1: Dimensional Outline (Unit : mm)

- + 1 2 3 9 7 5 3 K A 3.5 4- <Top View> <Side View> 60 5 60 5 1.6 15 MAX.


(1)

BAB I PENDAHULUAN 3

I.5 Pembatasan Masalah

Pada tugas akhir ini, realisasi Robot Cerdas Pemadam Api Beroda (Robot LADY) mempunyai pembatasan-pembatasan masalah yaitu:

1. Arena lapangan berukuran 248 x 228 cm2 dengan 4 ruangan dilengkapi karpet abu-abu gelap dan abu-abu terang seperti ditunjukkan pada Gambar 1.1. 2. Robot LADY berdimensi lebih kurang 25 x 21 x 20 cm3 dengan bahan yang

digunakan sebagian besar adalah akrilik dan material pendukung lainnya seperti aluminium, karet, dan plastik.

3. Robot LADY didesain untuk bergerak dari Home, menelusuri empat ruangan, memadamkan api yang terdapat pada salah satu dari empat ruangan, dan kemudian akan kembali ke Home.

Gambar 1.1 Arena Lapangan

4. Robot LADY didesain untuk beberapa mode, yaitu:

a) Hanging objects : simulasi benda-benda yang bergantungan di dinding dan bertujuan untuk menguji kehandalan sistem navigasi robot. Hanging objects berupa Cermin dan Sound damper masing-masing berjumlah empat buah.


(2)

BAB I PENDAHULUAN 4

b) variable door location : terdapat empat konfigurasi lokasi pintu yang tidak tetap.

c) uneven floor : suatu bentuk halangan dilantai lorong dimana fungsinya seperti sebuah “polisi tidur” dan bertujuan untuk menghalangi laju robot dan menguji kestabilan sistem gerak robot.

d) furniture : simulasi benda-benda yang berada disuatu ruangan dan bertujuan untuk menguji kemampuan bermanuver robot didalam suatu ruangan dan bergerak mendekati api.

e) non-arbitrary start : posisi Home tetap.

f) sound activation : remote kontrol pengaktifan robot melalui bunyi-bunyian yang terdengar.

g) return trip mode : robot bergerak mulai dari Home sampai ke Home. h) room factor 4 (RF4) : empat ruangan yang harus dikelilingi.

i) memadamkan api dengan menggunakan tiupan angin dari kipas. I.6 Spesifikasi Alat

Spesifikasi alat adalah sebagai berikut :

1. Empat roda yang terdiri atas dua buah roda pasif berdiameter 5 cm dan dua buah roda aktif berdiameter 5 cm yang dilengkapi rel seperti roda tank baja. 2. Dua buah motor servo GWS.03.

3. Delapan buah batere rechargeable Ni-MH 1,2Volt 2700mAH. 4. Sebuah modul Mikrokontroler AVR ATMEGA 16.

5. Rangkaian Sound Activation.

6. Sensor kompas DEVANTECH CMPS03.

7. Tiga buah sensor ultrasonik DEVANTECH SRF04. 8. Sensor api lilin DEVANTECH UVtron .

9. Sensor posisi api lilin TPA81.

10. Rangkaian sensor warna menggunakan Led IR dan Phototransistor. 11. Enam buah sensor sentuh (microswitch).


(3)

BAB I PENDAHULUAN 5

I.7 Sistematika Penulisan

Laporan terdiri dari beberapa bab dengan garis besar sebagai berikut: • BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang, identifikasi masalah, perumusan masalah, tujuan, pembatasan masalah, spesifikasi alat, dan sistematika penulisan laporan tugas akhir.

• BAB II LANDASAN TEORI

Pada bab ini dijelaskan mengenai teori-teori penunjang yang diperlukan dalam merancang dan merealisasikan Robot LADY yaitu berupa teori tentang robotika, motor servo, sensor-sensor, rangkaian sound activation, dan mikrokontroler. • BAB III PERANCANGAN DAN REALISASI

Pada bab ini dijelaskan tentang perancangan dan realisasi perangkat keras Robot LADY serta perancangan dan realisasi perangkat lunak Robot LADY.

• BAB IV ANALISA DAN DATA PENGAMATAN

Pada bab ini dijelaskan tentang proses pengambilan data pengamatan, pengujian sensor-sensor, pengujian kemampuan Robot LADY, dan analisanya.

• BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari tugas akhir dan saran-saran yang perlu dilakukan untuk perbaikan di masa mendatang.


(4)

BAB V

SIMPULAN DAN SARAN

Bab ini berisi simpulan dari tugas akhir dan saran-saran yang perlu dilakukan untuk perbaikan di masa mendatang.

V.1 Simpulan

Dengan memperhatikan data pengamatan dan analisis pada bab sebelumnya, dapat disimpulkan bahwa:

1. Robot LADY dapat didesain dan dikontrol dengan menggunakan mikrokontroler AVR ATMega16 untuk bernavigasi dan bermanuver dalam mencari dan memadamkan api lilin pada arena lapangan.

2. Algoritma yang digunakan yaitu algoritma menelusuri dinding sebelah kanan mulai dari Home sampai menelusuri R3, R2, dan R1 dan algoritma menelusuri dinding sebelah kiri mulai dari menelusuri R4 sampai tiba di Home. Algoritma ini telah dapat mencari dan menjelajahi keempat ruangan mulai dari Home sampai berhenti di Home kembali dengan adanya furniture,

hanging object, dan uneven floor.

3. Pada pengujian pola gerak navigasi dengan sudut awal yang berbeda-beda setelah Robot LADY diaktifkan dengan Sound Activation persentase keberhasilan adalah 83.33% atau 5 keberhasilan tehadap 6 kali percobaan. Gagalnya Robot LADY bernavigasi menghadap lorong disebabkan kesalahan pembacaan sudut oleh sensor CMPS03.

4. Pada pengujian pola gerak mencari dan memadamkan api lilin didapatkan persentasi keberhasilan untuk masing-masing pola, yaitu:

a) persentasi keberhasilan sebesar 82.05 % untuk pola gerak mencari dan memadamkan api lilin pada Pola 1 dengan arah awal konfigurasi 4.


(5)

BAB V SIMPULAN DAN SARAN 130

b) persentasi keberhasilan sebesar 87.18 % untuk pola gerak mencari dan memadamkan api lilin pada Pola 2 dengan arah awal konfigurasi 5.

c) persentasi keberhasilan sebesar 89.74 % untuk pola gerak mencari dan memadamkan api lilin pada Pola 3 dengan arah awal konfigurasi 6.

d) persentasi keberhasilan sebesar 61.54 % untuk pola gerak mencari dan memadamkan api lilin pada Pola 4 dengan arah awal konfigurasi 1.

5. Secara keseluruhan pengujian pola gerak mencari dan memadamkan api lilin mempunyai tingkat keberhasilan sebesar 80.13 %. Namun masih mengalami kegagalan menjalankan beberapa kriteria yang disebabkan oleh tidak bekerjanya sensor warna dalam mendeteksi lingkaran putih, microswitch yang tertekan terus, kesalahan sensor SRF04 (depan, kanan, kiri) dalam membaca jarak tembok, dan kesalahan sensor TPA81 dalam membaca suhu api lilin karena posisi api tidak segaris lurus dengan sensor TPA81.

V.2 Saran

Saran-saran yang dapat diberikan untuk perbaikan dan pengembangan dari Tugas Akhir ini adalah sebagai berikut:

1. Mekanika robot LADY terutama pemasangan microswitch dan sensor warna dibuat lebih baik dan disesuaikan dengan beban serta guncangan yang terjadi pada robot LADY.

2. Penggunaan IC regulator pada sensor, motor servo, dan mikrokontroler sehingga kerja dari masing-masing alat tersebut dapat lebih stabil.

3. Penggunaan kombinasi antara sensor ultrasonik dan sensor infrared sebagai pengindra jarak sehingga dapat mengantisipasi jika terdapat error pada salah satu sensor.

4. Penggunaan komputer untuk mengontrol robot LADY dengan jalur komunikasi nir-kabel (wireless atau bluetooth).


(6)

DAFTAR PUSTAKA

1. Andrianto, H., Buku Panduan : Pelatihan Mikrokontroler AVR ATmega16,

2008.

2. Budiharto, W., Membuat Robot Cerdas, Jakarta : Gramedia, 2006.

3. Pitowarno, E., Robotika Disain, Kontrol, Dan Kecerdasan Buatan, Edisi ke-1, Yogyakarta:Andi, 2006.

4. EPIT GN Sesi 1 Introduction to Robotics.pdf

5. Panduan KRCI 2009 (Beroda - Berkaki - Ex Single - Ex Battle) v Beta.pdf 6. Sigit, Riyanto. Robotika, Sensor, Dan Aktuator, Edisi ke-1, Yogyakarta:Graha

Ilmu, 2007.

7. Predko, Michael, ”123 Robotics Experiments for The Evil Genius”, The

McGraw- Hill Companies, Inc., The United State of America, 2004

8. McComb, Gordon & Michael Predko, “Robot Builder’s Bonanza”, The

McGraw- Hill Companies, Inc., The United State of America, Third Edition, 2006

9. http://www.innovativeelectronics.com/innovative_electronics/download_files/ artikel/Buletin0107.pdf

10.http://ikapunyaberita.wordpress.com/2007/10/08/sensor-navigasi-untuk-robot/ 11.

http://ocw.gunadarma.ac.id/course/computer-science-and-information/computer-system-s1/pengantar-robotika.

12.http://users.ece.utexas.edu/~valvano/Datasheets/PingDocs.pdf.

13.http://www.acroname.com.

14.http://www.atmel.com.

15.http://www.captain.at/electronic-index.php. 16.http://www.gedex.web.id.

17.http://www.parallax.com.

18.http://www.robotstorehk.com/CMPS03_release.pdf.