• Tidak ada hasil yang ditemukan

TA : Automatic Mobile Robot Menggunakan Data Kamera Sebagai Pengambil Gambar Jalan Robot.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Automatic Mobile Robot Menggunakan Data Kamera Sebagai Pengambil Gambar Jalan Robot."

Copied!
74
0
0

Teks penuh

(1)

SEBAGAI PENGAMBIL GAMBAR JALAN ROBOT

Oleh:

Nama : Hanny Kristianto NIM : 08.41020.0001 Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER SURABAYA

2012

STIKOM

(2)

vii

Pada saat ini, sangat sering ditemukan kemajuan teknologi di bidang kendaraan. Salah satunya adalah pengendalian tanpa awak atau yang biasa disebut dengan autopilot. Teknologi pengendalian tanpa awak tersebut umumnya digunakan pada pesawat komersial dan pada bidang pertahanan negara guna mengendalikan rudal dan alat perang lainnya. Namun kali ini peneliti memanfaatkan teknologi pengolahan citra untuk membuat suatu pengendalian mobile robot tanpa awak.

Tugas akhir ini bertujuan untuk membuat mobile robot yang berjalan pada sebuah lintasan dengan memanfaatkan adanya kamera sebagai pengambil gambar jalan sehingga gambar tersebut dapat diolah oleh prosessor. Untuk itu mobile robot ini memerlukan microcontroller, prosessor, kamera, relay driver dan motor DC. Dimana input dari kamera dibaca oleh prosessor lalu diolah dengan teknologi pengolahan citra menggunakan Open CV. Dengan memanfaatkan library dari Open CV maka proses untuk mengolah gambar dapat menjadi lebih cepat. Dengan CVScalar dari library OpenCV maka peneliti dapat menentukan nilai pixel yang berada di jalan atau berada di bahu jalan, sehingga prosessor dapat menentukan keputusan laju dari mobile robot. Hasil tersebut dikirimkan melalui komunikasi serial ke microcontroller sehingga microcontroller dapat mengolah perintah dari prosessor untuk menggerakan motor DC sebagai pengendali mobile robot.

Untuk menentukan jalan dari mobile robot maka peneliti memanfaatkan library dari Open CV antara lain CVcvtcolor untuk merubah gambar dari RGB ke

STIKOM

(3)

viii dan badan jalan.

Mobile robot ini dapat berjalan dilintasannya yang memiliki tikungan ke kiri dan ke kanan dan tanpa ada halangan atau persimpangan jalan. Namun mobile robot ini dapat berjalan baik atau tidak tergantung dengan intensitas cahaya yang didapatkan oleh mobile robot. Karena, bahan yang dibuat untuk jalan lintasan dari mobile robot adalah berbahan vinyl yang mudah memantulkan cahaya walau berwarna hitam.

STIKOM

(4)

x

ABSTRAKSI ... vii

KATA PENGANTAR ... ix

DAFTAR ISI ... x

DAFTAR TABEL ... xiii

DAFTAR GAMBAR ... xiv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah ... 2

1.3. Pembatasan Masalah ... 2

1.4. Tujuan ... 3

1.5. Kontribusi ... 3

1.6. Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 6

2.1. Mobile Robot ... 7

2.2. ATMEGA8535 ... 8

2.3. Komunikasi Serial ... 16

2.4. Motor DC ... 18

2.5. Web Cam ... 22

2.6. Pengolahan Citra ... 23

2.7. Open CV ... 24

2.8. Konversi RGB ke Grayscale ... 26

2.9. Konversi dari Grayscale ke Biner (Thersholding) ... 28

STIKOM

(5)

2.10. Pulse Width Modulation ... 30

BAB III METODE PENELITIAN ... 33

3.1. Model Penelitian ... 33

3.2. Proses Pendeteksian Jalan ... 33

3.2.1. Proses Perubahan warna dari RGB ke Grayscale ... 34

3.2.2. Proses Perubahan warna dari Grayscale ke biner ... 34

3.2.3. Proses Pengambilan Koordinat sebagai acuan ... 35

3.3. Komunikasi Menggerakan Mobile Robot ... 37

3.3.1. Pengiriman data dari prosessor... 37

3.3.2. Penerimaan data microcontroller... 39

3.4. Perancangan Perangkat Keras ... 40

3.4.1. Minimum Sistem ATMEGA8535 ... 40

3.4.2. Relay driver ... 42

3.4.3. Desain Mekanik Robot ... 42

3.5. Pulse Width Modulation ... 46

3.6. Perancangan Jalan ... 46

BAB IV PENGUJIAN SISTEM ... 48

4.1. Pengujian Koneksi Serial UART ... 48

4.1.1. Tujuan ... 48

4.1.2. Alat yang Digunakan ... 48

4.1.3. Prosedur Pengujian ... 48

4.1.4. Hasil Pengujian ... 49

4.2. Pengujian Pergerakan Mobile Robot ... 50

4.2.1. Tujuan ... 50

STIKOM

(6)

4.2.2. Alat yang Digunakan ... 50

4.2.3. Prosedur Pengujian ... 50

4.2.4. Hasil Pengujian ... 51

4.3 Pengujian Penentuan nilai thresholding ... 51

4.3.1. Tujuan ... 51

4.3.2. Alat yang Digunakan ... 51

4.3.3. Prosedur Pengujian ... 52

4.3.4. Hasil Pengujian ... 52

4.4. Pengujian Streaming di PC ... 55

4.4.1. Tujuan ... 56

4.4.2. Alat yang Digunakan ... 56

4.4.3. Prosedur Pengujian ... 56

4.4.4. Hasil Pengujian ... 56

4.5 Pengujian Sistem Secara Keseluruhan ... 58

4.5.1. Tujuan ... 58

4.5.2. Alat yang digunakan ... 58

4.5.3. Prosedur Pengujian ... 59

4.5.4. Hasil Pengujian ... 52

BAB V PENUTUP ... 63

5.1. Simpulan ... 63

5.2. Saran ... 63

DAFTAR PUSTAKA ... 65

LAMPIRAN ... 66

STIKOM

(7)

xiii

Tabel 2.1. Konfigurasi pengaturan untuk Port I/O ... 15

Tabel 3.1. Kecepatan Motor DC ... 46

Tabel 4.1. Percobaan Dan Hasil Output Motor Dengan Input Serial ... 51

Tabel 4.2. Pengukuran Cahaya dengan hasil greyscale pada PC ... 52

Tabel 4.3. Hasil Pengujian Thresholding ... 53

Tabel 4.4. Hubungan Data Kamera dengan keadaan motor... 62

STIKOM

(8)

xiv

Gambar 2.1. Blok Diagram ATMEGA8535 ... 10

Gambar 2.2. Skema Minimum System ATMEGA8535 ... 11

Gambar 2.3. Konfigurasi Port I/O ATMEGA8535 ... 11

Gambar 2.4. Motor DC ... 22

Gambar 2.5. Web Cam ... 23

Gambar 2.6. Gambar greyscale Padang Cement Indonesia ... 26

Gambar 2.7 Contoh Partisi Histogram Untuk Memperoleh Nilai Threshold ... 29

Gambar 2.7. Grafik PWM ... 31

Gambar 3.1. Blok Diagram ... 33

Gambar 3.2. Blok Diagram Pengolahan gambar ... 34

Gambar 3.3. Flowchat Pendeteksian Jalan ... 36

Gambar 3.4. Konfigurasi Minimum Sistem ATMega8535 ... 41

Gambar 3.5. Rangkaian Relay Driver ... 42

Gambar 3.6. Robot tampak atas ... 43

Gambar 3.7. Robot tampak samping kanan ... 43

Gambar 3.8. Robot tampak samping kiri ... 44

Gambar 3.9. Robot tampak depan ... 45

Gambar 3.10. Robot tampak belakang ... 45

Gambar 3.11. Jalan Mobile Robot ... 47

Gambar 4.1 Pengujian Komunikasi Serial Sukses ... 49

Gambar 4.2 Kondisi Belok Kiri dari gambar asli ... 57

Gambar 4.3 Kondisi Belok Kanan dari Gambar Asli ... 57

STIKOM

(9)

Gambar 4.4 Kondisi Jalan Lurus dari Gambar Asli ... 58

Gambar 4.5 Respose Lurus ... 61

Gambar 4.6 Respon Kiri ... 62

Gambar 4.7 Respon Kanan ... 62

STIKOM

(10)

1

PENDAHULUAN

1.1 Latar Belakang

Di era modern saat ini keberadaan peralatan transportasi menjadi sangat penting. Kebutuhan alat transportasi yang aman dan nyaman merupakan hal yang sangat didambakan. Sampai saat ini, sebagian besar sistem navigasi atau kemudi alat transportasi darat (mobil) masih banyak dilakukan dengan tenaga manusia. Untuk dapat mengendalikan mobil dengan baik seseorang harus mempunyai ketrampilan khusus, juga diperlukan konsentrasi di saat mengendalikannya di jalan raya. Mengemudi kendaraan dengan konsentrasi yang kurang sangat berbahaya, karena berisiko besar terjadi kecelakaan. Untuk itu diperlukan diperlukan suatu sistem yang dapat membantu manusia dalam mengendarai kendaraan. Sistem yang bersifat otomatis ini diharapkan dapat membantu atau bahkan menggantikan sebagian besar peran pengemudi dalam mengendalikan mobil. Oleh karena itu dipilih suatu sistem untuk mengatasi permasalahan di atas, yakni sistem image processing.

Sistem image processing dapat digunakan untuk membantu mengimplementasikan sistem autopilot di darat. Sistem tersebut akan diaplikasikan oleh penulis pada sebuah mobile robot yang diberi kamera untuk dapat mengambil gambar lintasan yang sedang dilintas oleh mobile robot tersebut. Lintasan yang ditempuh oleh robot tersebut berupa lintasan tanpa ada halangan dan tanpa ada persimpangan jalan. Selain itu, lintasan tersebut menggunakan perbedaan kontras warna antara bahu jalan dengan jalan. Sehingga

STIKOM

(11)

mobile robot dapat mendeteksi dan mengambil keputusan untuk tetap berada di jalan.

Dalam pendeteksian dan pengambilan keputusan, dimanfaatkanlah library dari OpenCV yang dapat membantu pemrosesan gambar dengan cepat. Dengan memanfaatkan library OpenCV yaitu CVScalar, pendeteksian antara bahu jalan dengan badan jalan dapat diwujudkan. Oleh karena itu image processing dapat mendeteksi jalan dengan bahu jalan yang dilintasi, sedangkan penggunaan sensor ultrasonic dan sensor cahaya tidak tepat guna dalam mendeteksi jalan dan bahu jalan tersebut. Dikarenakan penggunaan sensor tersebut mendeteksi bahu jalan dan badan jalan dengan mendekati bahu jalan tersebut untuk dapat dideteksi, sedangkan pada kondisi nyata mobil harus menjaga jarak dengan bahu jalan. Sehingga, penggunaan image processing menjadi tepat guna untuk mengimplementasikan autopilot di darat.

1.2 Perumusan Masalah

Berdasarkarkan latar belakang yang telah dijelaskan di atas dapat dirumuskan permasalahan sebagai berikut :

1. Bagaimana membuat automatic mobile robot dengan memanfaatkan data kamera sebagai pengambil gambar jalan robot.

2. Bagaimana merancang sistem pengendali pada mobile robot agar mobile robot dapat berjalan di lintasan.

1.3 Pembatasan Masalah

1. Kamera yang digunakan adalah WebCam.

2. Menggunakan sebuah processor unit yang mendukung untuk pengolahan citra.

STIKOM

(12)

3. Jalur yang ditempuh menggunakan kontras warna antara jalan dan bahu jalan tanpa ada persimpangan jalan dan rintangan.

4. Mobile robot memanfaatkan library OpenCV untuk membantu dalam pengolahan data.

5. Mobile robot menggunakan software Visual C++ 2008 sebagai software pengolah gambar.

6. Mobile robot menggunakan 2 buah roda belakang sebagai penggerak dan 1 roda bebas yang diletakan di depan.

1.4 Tujuan

Tujuan pembuatan tugas akhir ini adalah :

1. Membuat automatic mobile robot dengan memanfaatkankan data kamera sebagai pengambil gambar jalan robot.

2. Merancang sistem pengendali pada mobile robot agar mobile robot dapat berjalan di lintasan.

1.5 Kontribusi

Pemanfaatan Pengolahan Citra cukup banyak cukup banyak dikembangkan. Dengan memanfaatkan metode ini, diharapkan suatu mobile robot dapat berjalan tanpa kendali apapun, hanya berdasarkan gambar yang diambil dari kamera.

Umumnya pengolahan citra diaplikasikan pada device modern seperti laptop sebagai Authentification User Account. Pada penelitian sebelumnya pengolahan citra pada mobile robot digunakan oleh Made Boyke Ismaya dan Kusprasapta Mutijarsa (2008) yang memanfaatkan mobile robot sebagai pengikut bola. Sedangkan pada penelitian lainnya yang dilakukan oleh Febi (2009),

STIKOM

(13)

memanfaatkan notebook sebagai pengendali mobile robot namun input dari pengendalian tersebut masih dari user.

Pada penelitian kali ini penulis mengembangkan dari dua penelitian sebelumnya untuk membuat mobile robot yang dapat mengikuti jalan yang tanpa menerima pengendalian dari luar. Mobile robot tersebut berjalan secara otomatis mengikuti jalan yang terlihat dari kamera robot tersebut. Hasil dari kamera tersebut diolah oleh sebuah processor (komputer) lalu hasilnya berupa perintah pengendalian gerak motor melalui microcontroller AT8535, sehingga mobile robot dapat berjalan sesuai dengan jalannya.

1.6 Sistematika Penulisan

Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut:

BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang masalah, perumusan masalah, pembatasan masalah, tujuan penulisan laporan tugas akhir, kontribusi dan sistematika penulisan tugas akhir.

BAB II : LANDASAN TEORI

Bab ini membahas tentang berbagai teori yang mendukung tugas akhir ini. Hal tersebut meliputi pengolahan citra, OpenCV, microcontroller AT8535, WebCam, motor DC.

BAB III :METODE PENELITIAN

Bab ini membahas tentang blok diagram sistem, flowchart dari setiap program yang dibuat, dan metode pengolahan citra yang digunakan untuk mendeteksi jalan.

STIKOM

(14)

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi tentang segala percobaan yang telah dilakukan dan hasil dari setiap percobaan tersebut. Percobaan ini meliputi percobaan dari sisi pengolahan citra maupun mobile robot secara keseluruhan.

BAB V : PENUTUP

Bab ini berisi tentang kesimpulan dari seluruh aplikasi yang dibuat serta diberikan saran untuk pengembangan lebih lanjut dari tugas akhir ini.

STIKOM

(15)

6 2.1 Mobile Robot

Robot adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun menggunakan program yang telah didefinisikan terlebih dulu. Robot biasanya digunakan untuk tugas yang berat, berbahaya, pekerjaan yang berulang dan kotor. Biasanya kebanyakan robot industri digunakan dalam bidang produksi. Penggunaan robot lainnya termasuk untuk pembersihan limbah beracun, penjelajahan bawah air dan luar angkasa, pertambangan, pekerjaan ―search and rescue‖, dan untuk pencarian

tambang. Belakangan ini robot mulai memasuki pasaran konsumen di bidang hiburan, dan alat pembantu rumah tangga, seperti penyedot debu, dan pemotong rumput.

Ketika para teknisi siap untuk mencoba robot berjalan kembali, mereka mulai dengan heksapoda dan platform berkaki banyak lainnya. Robot-robot tersebut meniru serangga dan arthropoda dalam bentuk dan fungsi. Tren menuju jenis badan tersebut menawarkan fleksibilitas yang besar dan terbukti dapat beradaptasi dengan berbagai macam lingkungan, tetapi biaya dari penambahan kerumitan mekanikal telah mencegah pengadopsian oleh para user. Dengan lebih dari empat kaki, robot-robot ini stabil secara statis yang membuat mereka bekerja lebih mudah.

Ketika para pencipta robot pertama kali mencoba meniru manusia dan hewan, mereka menemukan bahwa hal tersebut sangatlah sulit; membutuhkan tenaga penghitungan yang jauh lebih banyak dari yang tersedia pada masa itu.

STIKOM

(16)

Jadi, penekanan perkembangan diubah ke bidang riset lainnya. Robot sederhana beroda digunakan untuk melakukan eksperimen dalam tingkah laku, navigasi, dan perencanaan jalur. Teknik navigasi tersebut telah berkembang menjadi sistem kontrol robot otonom yang tersedia secara komersial, contoh paling mutakhir dari sistem kontrol navigasi otonom yang tersedia sekarang ini termasuk sistem navigasi berdasarkan-laser dan Visual Simultaneous Localization and Mapping (VSLAM) dari ActivMedia Robotics dan Evolution Robotics.

Beberapa jenis Robot:

2.1.1. Robot Mobil (Bergerak) yang bisa berpindah tempat.

Mobile robot adalah konstruksi robot yang ciri khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik yang lain. Mobile robot ini sangat disukai bagi orang yang mulai mempelajari robot. Hal ini karena membuat robot mobil tidak memerlukan kerja fisik yang berat. Untuk dapat membuat sebuah mobile robot minimal diperlukan pengetahuan tentang microcontroller dan sensor-sensor elektro

2.1.2. Robot Manipulator ( tangan )

Robot ini hanyak memiliki satu tangan seperti tangan manusia yang fungsinya untuk memegang atau memindahkan barang, contoh robot ini adalah robot las di industri mobil, robot perakit elektronik dan lain-lain.

2.1.3. Robot Humanoid

Robot yang miliki kekmpuan menyerupai manusia, baik fungsi maupun cara bertindak, contoh robot ini adalah Ashimo yang dikembangkan oleh Honda.

STIKOM

(17)

2.1.4. Robot Berkaki

Robot ini memiliki kaki seperti hewan atau manusia, yang mampu melangkah, seperti robot serangga, robot kepiting dll.

2.1.5. Flying Robot (Robot Terbang)

Robot yang mampu terbang, robot ini menyerupai pesawat model yang deprogram khusus untuk memonitor keadaan di tanah dari atas, dan juga untuk meneruskan komunikasi.

2.1.6. Under Water Robot (Robot dalam air)

Robot ini digunakan di bawah laut untuk memonitor kondisi bawah laut dan juga untuk mengambil sesuatu di bawah laut(Irwan ,2011).

2.2 ATMEGA8535

ATMega8535 merupakan salah satu microcontroller keluarga ATMEL

dari perkembangan terakhir, yaitu generasi AVR (Alf and Vegard’s Risc

Processor). Microcontroller AVR memilikia RISC (Reduced Instruction Set Computing) 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bit Word) dan sebagian besar instruksi di eksekusi dalam 1 (satu) siklus clock, serta

mempunyai kecepatan maksimal 16MHZ. Selain itu, ATMega8535 mempunyai 6

pilihan modesleep untuk menghemat daya listrik.

Fitur-fitur yang diberikan oleh microcontroller ATMega8535 adalah sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu Port A sampai Port D (port A, B,

C, D)

STIKOM

(18)

2. ADC (Analog to Digital Converter) 10 bit sebanyak 8 chanel.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan, yaitu 2

buah timer/counter 8 bit, dan 1 buah timer/counter 16 bit.

4. CPU yang memiliki 32 buah register

5. 131 Instruksi yang hanya membutuhkan 1 siklus clock

6. Watchdog Timer dengan osilator internal

7. Tegangan operasi 2,7 V – 5,5 V

8. Internal SRAM sebesar 512 byte

9. Memori Flash sebesar 8 KB dengan kemampuan Read While Write.

10. Unit interupsi internal dan eksternal

11. Port antarmuka SPI (Serial Pheripheral Interface).

12. Kecepatan hampir mencapai 16 MPIS pada Kristal 16 Mhz

13. Internaldownloader USB AVR (In-system Programming dilengkapi

LED programming indicator)

14. Tidak membutuhkan power tambahan saat melakukan download

program

15. EEPROM (Electrically Erasble Programmable Read Only Memory). sebesar 512 byte yang dapat diprogram saat operasi.

16. Antarmuka komparator analog.

17. Port USART untuk komunikasi serial.

STIKOM

(19)

Beberapa karakteristik ADC Internal Yang terdapat pada microcontroller

ATMega8535 adalah:

1. Mudah dalam pengoperasian.

2. Resolusi 10 bit.

3. Memiliki 8 masukan analog.

4. Konversi pada saat CPU sleep.

5. Interrupt waktu konversi selesai

Berikut diagram blok ATmega8535 ditunjukkan pada Gambar 2.1

Gambar 2.1 Blok Diagram ATMEGA8535

Berikut skema minimum system ATMEGA 8535 seperti ditunjukkan pada Gambar 2.2.

STIKOM

(20)

Gambar 2.2 Skema Minimum System ATMEGA8535

Konfigurasi pin ATmega8535, pada Gambar2.3 berikut ini merupakan susunan

kaki standar 40 pin Microcontroller AVR ATMEGA 8535.

Gambar 2.3 Konfigurasi Port I/O ATMEGA8535

Berikut ini adalah penjelasan umum susunan kaki dari ATMEGA8535 :

1. VCC merupakan pin masukan positif catu daya. Setiap piranti elektronika

digital membutuhkan sumber daya yang umumnya sebesar 5V. Oleh

karena itu, biasanya di PCB kit microcontroller selalu ada IC regulator 7805

STIKOM

(21)

2. GND sebagai pin ground

3. Port A (PA0..PA7) merupakan pin I/O dua arah dan dapat diprogram

sebagai pin masukan ADC

4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu Timer/Counter, komparator analog, dan SPI

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog dan Timer Osilator

6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu komparator analaog, interupsi eksternal, dan komunikasi serial

7. Reset merupakan pin yang digunakan untuk me-resetmicrocontroller

8. XTAL1 dan XTAL2 sebagai pin masukan clock eksternal. Suatu

microcontroller membutuhkan sumber detak (clock) agar dapat mengeksekusi instruksi yang ada di memeori. Semakin tinggi nilai

kristalnya, semakin cepat microcontroller tersebut

9. AVCC sebagai pin masukan tegangan untuk ADC

10. AREF sebagai pin masukan tegangan referensi

Organisasi memori microcontroller ATMega8535 dapat dibagi atas dua

bagian berbeda berdasarkan fungsinya dalam menyimpan data program, yaitu

memori program dan memori data. Memori program digunakan untuk instruksi

yang akan dijalankan oleh microcontroller. Memori jenis ini biasanya bertipe

Read Only Memory (ROM), yang digunakan untuk menyimpan program.

STIKOM

(22)

Sedangkan memori data digunakan sebagai tempat penyimpanan data-data yang

sedang diakses oleh microcontroller.

Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64

buah register I/O, dan 512 byte Static Random Access Memory (SRAM) Internal. Register keperluan umum menempati space data pada lamat terbawah, yaitu $00

sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control

terhadap microcontroller menempati 64 alamat berikutnya, yaitu mulai dari $20

sampai $5F. Register tersebut merupakan register khusus yang dipergunakan

untuk mengatur fungsi terhadap berbagai fitur microcontroller, seperti control

register, timer/counter, fungsi-fungsi I/O, dan sebagainya. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai

dengan $25F. Selain itu, AVR ATMega8535 juga memiliki memori data berupa

Electrically Erasable Programmable Read-Only Memory (EEPROM) 8-bit

sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai dengan $1FF.

Memori program yang terletak dalam flash Programmable Erasble Read

Only Memory (PEROM) tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. Flash PEROM adalah PROM yang dapat ditulis

ulang beberapa kali, dan dapat dihapus secara elektrik atau dengan tegangan

listrik. AVR ATMega8535 memiliki 4Kbyte x 16-bit Flash PEROM dengan alamat mulai dari $000 sampai dengan $FFF. AVR tersebut memiliki

12-bit Program Counter(PC) sehingga mampu mengalamati isi Flash.

Status register adalah register berisi status yang dihasilkan pada setiap

operasi yang dilakukan ketika suatu intruksi dieksekusi SREG merupakan bagian

dari inti pemroses pada microcontroller.

STIKOM

(23)

1. Bit 7-1: Global Interrupt Enable.

Bit harus diset untuk meng-enable interupsi. Hal ini dilakukan dengan cara mengaktifkan interupsi yang akan digunakan, melalui meng-enable bit control register yang bersangkutan secar individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh RET1.

2. Bit 6-T: Bit Copy Storage.

Instruksi Bit LoaD (BLD) dan Bit STore (BST) menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register General Purpose Register (GPR) dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali ke suatu bit dalam register GPR menggunakan intruksi BLD.

3. Bit 5-h: Half carry flag.

Menunjukan Half-carry pada beberapa operasi aritmatika. 4. Bit 4-s: Sign Bit.

Bit S merupakan hasil operasi Exclusive OR(EOR) antara flag-N (negative) dan Flag V (complement dua overflow).

5. Bit 3-V: Two’s Complement Overflow Flag.

Bit yang berguna untuk mendukung operasi aritmatika.

6. Bit 2-N: Negative Flag.

Apabila suatu operasi menghasilkanbilangan negative, maka flag-N akan diset.

7. Bit 1-Z: Zero Flag.

Bit akan diset bila hasil operasi yang diperoleh adalah nol.

STIKOM

(24)

8. Bit 0-C: Carry Flag.

Apabila suatu operasi menghasilkan carry, maka bit akan diset.

Port I/O pada microcontroller ATMega8535 dapat difungsikan sebagai input ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakuan setting pada DDR dan Port. Tabel 2.1 merupakan tabel konfigurasi pengaturan untuk Port I/0.

Tabel 2.1 Konfigurasi pengaturan untuk Port I/O DDR bit = 1 DDR bit = 0

Port bit = 1 Output High Input pull-up

Port bit = 0 Output Low Input Floating

Logika Port I/O dapat diubah-ubah dalam program secara 8-bit I/O atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkanoutput high. Pengubahan secara 8-bit I/O dengan perintah in atau out yang menggunakan register bantu. Port I/O sebagai output hanya memberikan arus sourching sebesar 20mA sehingga untuk menggerakan motor servo perlu diberikan penguat tambahan atau dengan konfigurasi port sebagai sinking current, seperti port untuk menyalakan LED yang kan menyala saat port diberikan logika low, dan mati saat port diberikan logika high. Berikut ini instruksi yang terdapat pada I/O:

1. In

Membaca data I/O Pot atau internal peripheral register (Timers, UART) ke dalam register.

2. Out

STIKOM

(25)

Menulis data sebuah register ke I/O port atau internal peripheral register. 3. Idi (load immediate)

Untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O Port.

4. Sbi (set bit in I/O)

Untuk membuat Logika high satu bit I/O register. 5. Cbi (clear bit in I/O)

Untuk membuat Logika low satu bit I/O register. 6. Sbic (skip if bit in I/O I cleared)

Untuk mengecek apakah bit I/O register clear. Jika clear, skip satu perintah dibawahnya.

7. Sbis (skip if bit in I/O is set)

Untuk mengecek apakah bit I/O register set. Jika set, skip satu perintah dibawahnya (Heryanto,2008).

2.3 Komunikasi Serial

Ada 2 macam cara komunikasi data serial yaitu sinkron dan asinkron. Pada komunikasi data serial sinkron, clock dikirimkan bersama sama dengan data serial, tetapi clock tersebut dibangkitkan sendiri–sendiri baik pada sisi pengirim maupun penerima.Sedangkan pada komunikasi serial asinkron tidak diperlukan clock karena data dikirimkan dengan kecepatan tertentu yang sama baik pada pengirim / penerima.

Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous

STIKOM

(26)

Receiver Transmitter). IC UART dibuat khusus untuk mengubah data parallel menjadi data serial dan menerima data serial yang kemudian dirubah lagi menjadi data parallel. IC UART 8250 merupakan salah satunya. Selain berbentuk IC mandiri berbagai macam mikrokontroller juga ada yang dilengkapi dengan UART, misalnya AT89S51/52/53 atau PIC16F877.

Pada komunikasi UART, kecepatan pengiriman data ( atau yang sering disebut dengan Baud Rate ) dan fase clock pada sisi transmitter dan sisi receiver harus sinkron.

Untuk itu diperlukan sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit ―Start‖ dan bit ―Stop‖. Ketika saluran transmisi dalam keadaan

idle, output UART adalah dalam keadaan logika ―1‖.

Ketika transmitter ingin mengirimkan data, output UART akan diset dulu ke logika ―0‖ untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai sinyal ―Start‖ yang digunakan untuk menyinkronkan fase clock-nya sehingga

sinkron dengan fase clock transmitter.

Selanjutnya data akan dikirimkan secara serial dari bit yang paling rendah (bit0) sampai bit tertinggi. Selanjutnya akan dikirimkan sinyal ―Stop‖ sebagai akhir dari pengiriman data serial.

Sebagai contoh misalnya akan dikirimkan data huruf ―A‖ dalam format

American Standard Code for Information Interchange (ASCII) (atau sama dengan 41 heksa atau 0100 0001. Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/detik).Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada kecepatan yang sama.

STIKOM

(27)

Selanjutnya harus ditentukan panjang data (6,7 atau 8 bit), paritas (genap, ganjil, atau tanpa paritas), dan jumlah bit ―Stop‖ (1, 1 ½ , atau 2 bit)(Mujahidin,2009).

2.4 Motor DC

Motor DC merupakan sebuah perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk, misalnya, memutar impeller pompa, fan atau blower, menggerakan kompresor, mengangkat bahan, dll. Motor listrik digunakan juga di rumah (mixer, bor listrik, fan angin) dan di industri. Motor listrik kadangkala disebut ―kuda kerja‖ dalam

dunia industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70% beban listrik total di industri.

Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidak mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan mengatur:

1. Tegangan dinamo – meningkatkan tegangan dinamo akan meningkatkan kecepatan.

2. Arus medan – menurunkan arus medan akan meningkatkan kecepatan. Motor DC tersedia dalam banyak ukuran, namun penggunaannya pada umumnya dibatasi untuk beberapa penggunaan berkecepatan rendah, penggunaan daya rendah hingga sedang seperti peralatan mesin dan rolling mills, sebab sering terjadi masalah dengan perubahan arah arus listrik mekanis pada ukuran yang lebih besar. Juga, motor tersebut dibatasi hanya untuk penggunaan di area yang bersih dan tidak berbahaya sebab resiko percikan api pada sikatnya. Motor DC juga relatif mahal dibanding motor AC.

STIKOM

(28)

Hubungan antara kecepatan, flux medan dan tegangan dinamo ditunjukkan dalam persamaan berikut:

Gaya elektromagnetik: (1)

Torque: (2)

Dimana:

E =gaya elektromagnetik yang dikembangkan pada terminal dinamo (volt) Φ = flux medan yang berbanding lurus dengan arus medan

N = kecepatan dalam RPM (putaran per menit) T = torque electromagnetik

Ia = arus dinamo

K = konstanta persamaan

Mekanisme kerja untuk seluruh jenis motor secara umum sama 1. Arus listrik dalam medan magnet akan memberikan gaya

2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran/loop, maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan mendapatkan gaya pada arah yang berlawanan.

3. Pasangan gaya menghasilkan tenaga putar/ torque untuk memutar kumparan. 4. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan

tenaga putaran yang lebih seragam dan medan magnetnya dihasilkan oleh susunan elektromagnetik yang disebut kumparan medan.

Dalam memahami sebuah motor, penting untuk mengerti apa yang dimaksud dengan beban motor. Beban mengacu kepada keluaran tenaga

STIKOM

(29)

putar/ torque sesuai dengan kecepatan yang diperlukan. Beban umumnya dapat dikategorikan kedalam tiga kelompok :

1. Beban torque konstan adalah beban dimana permintaan keluaran energinya bervariasi dengan kecepatan operasinya namun torque nya tidak bervariasi. Contoh beban dengantorque konstan adalah conveyors, rotary kilns, dan pompa displacement konstan.

2. Beban dengan variabel torque adalah beban dengan torque yang bervariasi dengan kecepatan operasi. Contoh beban dengan variabel torque adalah pompa sentrifugal dan fan (torque bervariasi sebagai kwadrat kecepatan). 3. Beban dengan energi konstan adalah beban dengan

permintaan torque yang berubah dan berbanding terbalik dengan kecepatan. Contoh untuk beban dengan daya konstan adalah peralatan-peralatan mesin.

Motor arus searah, sebagaimana namanya, menggunakan arus langsung yang tidak langsung/direct-unidirectional. Motor DC digunakan pada penggunaan khusus dimana diperlukan penyalaan torque yang tinggi atau percepatan yang tetap untuk kisaran kecepatan yang luas. Sebuah motor DC yang memiliki tiga komponen utama:

1. Kutub medan

Secara sederhana digambarkan bahwa interaksi dua kutub magnet akan menyebabkan perputaran pada motor DC. Motor DC memiliki kutub medan yang stasioner dan dinamo yang menggerakan bearing pada ruang diantara kutub medan. Motor DC sederhana memiliki dua kutub medan: kutub utara dan kutub selatan. Garis magnetik energi membesar

STIKOM

(30)

melintasi bukaan diantara kutub-kutub dari utara ke selatan. Untuk motor yang lebih besar atau lebih komplek terdapat satu atau lebih elektromagnet. Elektromagnet menerima listrik dari sumber daya dari luar sebagai penyedia struktur medan.

2. Dinamo

Bila arus masuk menuju dinamo, maka arus ini akan menjadi elektromagnet. Dinamo yang berbentuk silinder, dihubungkan ke as penggerak untuk menggerakan beban. Untuk kasus motor DC yang kecil, dinamo berputar dalam medan magnet yang dibentuk oleh kutub-kutub, sampai kutub utara dan selatan magnet berganti lokasi. Jika hal ini terjadi, arusnya berbalik untuk merubah kutub-kutub utara dan selatan dinamo.

3. Commutator

Komponen ini terutama ditemukan dalam motor DC. Kegunaannya adalah

untuk membalikan arah arus listrik dalam dinamo. Commutator juga membantu dalam transmisi arus antara dinamo dan sumber daya.

Motor DC memiliki beberapa jenis, antara lain : 1. Motor DC Sumber Daya Terpisah/ Separately Excited

Jika arus medan dipasok dari sumber terpisah maka disebut motor DC sumber daya terpisah/separately excited.

2. Motor DC Sumber Daya Sendiri/ Self Excited: motor shunt

Pada motor shunt, gulungan medan (medan shunt) disambungkan secara paralel dengan gulungan dinamo. Oleh karena itu total arus dalam jalur merupakan penjumlahan arusmedan dan arus dinamo(Fathurohim,2010).

STIKOM

(31)

Gambar 2.4 Motor DC

2.5 WebCam

WebCam adalah kamera video sederhana berukuran relatif kecil. sering digunakan untuk konferensi video jarak jauh atau sebagai kamera pemantau. WebCam pada umumnya tidak membutuhkan kaset atau tempat penyimpanan data, data hasil perekaman yang didapat langsung ditransfer ke komputer.

Defenisi yang lain tentang WebCam adalah sebuah periferal berupa kamera sebagai pengambil citra/gambar dan mikropon (optional ) sebagai pengambil suara/audio yang dikendalikan oleh sebuah komputer atau oleh jaringan komputer. Gambar yang diambil oleh WebCam ditampilkan ke layar monitor, karena dikendalikan oleh komputer maka ada interface atau port yang digunakan untuk menghubungkan WebCam dengan komputer atau jaringan. Ada beberapa orang mengartikan WebCam sebagai Web pages + Cam era, karena dengan menggunakan WebCam untuk mengambil gambar video secara aktual bisa langsung di upload bila komputer yang mengendalikan terkoneksi internet. Webcam (singkatan dari web camera ), merupakan sebutan bagi kamera real-time (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses atau dilihat melalui internet , program instant messaging seperti Yahoo Messenger , AOL Instant Messenger (AIM), Windows Live Messenger , dan Skype .Istilah

STIKOM

(32)

"webcam" mengarah pada jenis kamera yang digunakan untuk kebutuhan layanan berbasis web(Majid,2007).

Gambar 2.5 WebCam

2.6 Pengolahan Citra

Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Citra digital adalah barisan bilangan nyata maupun kompleks yang diwakili oleh bit-bit tertentu.

Umumnya citra digital berbentuk persegi panjang atau bujur sangkar (pada beberapa sistem pencitraan ada pula yang berbentuk segienam) yang memiliki lebar dan tinggi tertentu. Ukuran ini biasanya dinyatakan dalam banyaknya titik atau pixel sehingga ukuran citra selalu bernilai bulat. Setiap titik memiliki koordinat sesuai posisinya dalam citra. Koordinat ini biasanya dinyatakan dalam bilangan bulat positif, yang dapat dimulai dari 0 atau 1 tergantung pada sistem

STIKOM

(33)

yang digunakan. Setiap titik juga memiliki nilai berupa angka digital yang merepresentasikan informasi yang diwakili oleh titik tersebut.

Format data citra digital berhubungan erat dengan warna. Pada kebanyakan kasus, terutama untuk keperluan penampilan secara visual, nilai data digital merepresentasikan warna dari citra yang diolah. Format citra digital yang banyak dipakai adalah Citra Biner (monokrom), Citra Skala Keabuan ( grayscale ), Citra Warna ( true color ), dan Citra Warna Berindeks(Jihan,2010).

2.7 OpenCV

OpenCV adalah library Open Source untuk Computer Vision untuk C/C++, OpenCV didesain untuk aplikasi real-time, memiliki fungsi-fungsi

akuisisi yang baik untuk image/video. OpenCV juga menyediakan interface ke

Integrated Performance Primitives (IPP) Intel sehingga jika anda bisa mengoptimasi aplikasi Vision anda jika menggunakan prosesor Intel.

Feature yang dimiliki OpenCV antara lain :

1. Manipulation data citra (alokasi, copying, setting, konversi).

2. Citra dan video I/O (file dan kamera based input, image/video fileoutput).

3. Manipulasi matriks dan vektor beserta rutin-rutin aljabar linear (products,

solvers, eigenvalues, SVD).

4. Data struktur dinamis (lists, queues, sets, trees, graphs).

5. Pemroses citra fundamental (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations,

histograms, image pyramids).

STIKOM

(34)

6. Analisis struktur(connected components, contour processing, distance

transform, various moments, template matching, Hough transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).

7. Kalibrasi kamera (calibration patterns, estimasi fundamental matrix, estimasi homography, stereo correspondence).

8. Analisis gerakan (optical flow, segmentation, tracking).

9. Pengenalan obyek (eigen-methods, HMM).

10. Graphical User Interface (display image/video, penanganan keyboard dan mouse handling, scroll-bars).

11. Pelabelan citra (line, conic, polygon, text drawing)

OpenCV terdiri dari 3 library, yaitu

CV : untuk algoritma Image processing dan Vision

Highgui :untuk GUI, image dan video I/O

CXCORE : Untuk struktur data, support XML dan fungsi-fungsu grafis.

Selain itu OpenCV juga dilengkapi dengan Machine Learning library yang

memiliki algoritma berikut :

1. Naivebayes classifier

2. k-nearest neighbor algorithm

3. Support vector machine

4. Decision trees

5. Boosting

6. Random forest

7. Expectation maximization

8. Neural Networks

STIKOM

(35)

Library ini bisa di-compile dengan Visual C++ 6.0, Visual C++.Net 2003/2005/2008 baik Standard, Professional maupun express edition(Adhiguna,

2008). Setelah mendapatkan fungsi-fungsi dari OpenCV maka selanjutnya menerapkan logika RGB to Grayscale pada OpenCV.

2.8 Konversi RGB ke Grayscale

Dalam fotografi dan komputasi, grayscale atau greyscale dari suatu gambar digital adalah gambar dimana nilai setiap pixel sampel tunggal, yang, itu hanya membawa informasi intensitas. Gambar semacam ini, juga dikenal sebagai hitam-putih, secara eksklusif terdiri dari warna abu-abu, bervariasi dari hitam di bagian intensitas paling lemah untuk putih di terkuat(Johnson ,2006).

Gambar 2.6 contoh gambar greyscale Padang Cement Indonesia.

Ada kasus bagaimana representasi nilai RGB (Red, Green, Blue) diubah menjadi gambar yang terdiri dari warna putih dan gradiasi warna hitam yang biasa disebut greyscale. Untuk mengubah RGB menjadi greyscale dapat digunakan rumus sebagai berikut:

greyscale = 0.299R + 0.587G + 0.114B (1)

atau

STIKOM

(36)

greyscale = 0.333R + 0.333G + 0.333B (2)

Perhitungan nilai greyscale yang sebenarnya adalah dengan menggunakan persamaan pertama. Untuk lebih mudah digunakan untuk perhitungan manual dan mudah diingat digunakan persamaan yang kedua.

Misal ada warna RGB dengan pixel 3043918. Bagaimana mengkonversi menjadi warna greyscale? Gunakan prinsip geser dan logika AND. Konversi nilai decimal 3043918 ke bilangan biner menjadi 1011100111001001001110. Kemudian lakukan proses AND 8 digit sehingga

1011100111001001001110

0000000000000011111111

————————————- AND

0000000000000001001110 = Red.

Kemudian untuk Green. Geser 8 kali ke kanan kemudian lakukan proses AND.

1011100111001001001110

Geser 8 Kali ke kanan

0000000010111001110010

0000000000000011111111

————————————- AND

0000000000000001110010 = Green

Kemudian untuk Blue. Geser 16 kali ke kanan kemudian lakukan proses AND.

STIKOM

(37)

1011100111001001001110 Geser 16 kali ke kanan

0000000000000000101110

0000000000000011111111

————————————– AND

0000000000000000101110 = Blue (Samuel, 2012).

Setelah menjadi Greyscale maka selanjutnya diproses menjadi biner sehingga mendapatkan hasil yang mudah diolah.

2.9 Konversi dari Grayscale ke Biner (Thresholding)

Thresholdingadalah proses mengubah citra berderajat keabuan menjadi citra biner atau hitam putih sehingga dapat diketahui daerah mana yang termasuk obyek danbackgrounddari citra secara jelas. Citra hasilthresholdingbiasanya digunakan lebih lanjut untuk proses pengenalan obyek serta ekstraksi fitur. Metodethresholdingsecara umum dibagi menjadi dua, yaitu :

1. Thresholdingglobal

Thresholdingdilakukan dengan mempartisi histogram dengan menggunakan sebuahthreshold(batas ambang) global T, yang berlaku untuk seluruh bagian pada citra.

2. Thresholding adaptif

Thesholdingdilakukan dengan membagi citra menggunakan beberapa sub citra. Lalu pada setiap sub citra, segmentasi dilakukan dengan menggunakan thresholdyang berbeda.

STIKOM

(38)

Yang menjadi fokus dalam tugas akhir ini adalah metodethresholdingglobal. Thresholdingdiimpelementasikan setelah dilakukan proses perbaikan kontras citra menggunakan fungsiContrast-limited adaptive histogram equalization(CLAHE).Thresholdingdikatakan global jika nilaithresholdT hanya bergantung padaf(x,y), yang melambangkan tingkat keabuan pada titik(x,y)dalam suatu citra. Berikut ini akan disajikan contoh partisi histogram untuk memperoleh threshold dalam Gambar 2.7.

Gambar 2.7 Contoh Partisi Histogram Untuk Memperoleh Nilai Threshold

Histogram yang berada pada sisi kiri Gambar 1 mewakili citraf(x,y) yang tersusun atas obyek terang di atasbackgroundgelap. Pixel-pixel obyek danbackgrounddikelompokkan menjadi dua mode yang dominan. Cara untuk mengekstraks obyek daribackgroundadalah dengan memilih nilaithresholdT yang memisahkan dua mode tersebut. Kemudian untuk sembarang titik(x,y)yang memenuhif(x,y) > Tdisebut titik obyek, selain itu disebut titikbackground. Kesuksesan metode ini bergantung pada seberapa bagus teknik partisi histogram.

STIKOM

(39)

Citra hasil thresholding dapat didefinisikan sebagaimana Persamaan di bawah ini (Nasir, 2012).

(1)

2.10 Pulse Width Modulation (PWM)

Pengaturan lebar pulsa modulasi atau PWM merupakan salah satu teknik yang ―ampuh‖ yang digunakan dalam sistem kendali (control system) saat ini.

Pengaturan lebar modulasi dipergunakan di berbagai bidang yang sangat luas, salah satu diantaranya adalah: speed control (kendali kecepatan), power control (kendali sistem tenaga), measurement and communication (pengukuran atau instrumentasi dan telekomunikasi).

Di dalam tutorial yang akan saya bahas kali ini akan mengajak anda mengenal dasar-dasar PWM dan implementasi PWM dengan menggunakan microcontroller.

Modulasi lebar pulas (PWM) dicapai/diperoleh dengan bantuan sebuah gelombang kotak yang mana siklus kerja (duty cycle) gelombang dapat diubah-ubah untuk mendapatkan sebuah tegangan keluaran yang bervariasi yang merupakan nilai rata-rata dari gelombang tersebut.

STIKOM

(40)

Gambar 2.8 Grafik PWM.

Ton adalah waktu dimana tegangan keluaran berada pada posisi tinggi

(baca: high atau 1) dan Toff adalah waktu dimana tegangan keluaran berada pada

posisi rendah (baca: low atau 0).

Anggap Ttotal adalah waktu satu siklus atau penjumlahan

antara Ton dengan Toff , biasa dikenal dengan istilah ―periode satu gelombang‖.

(1)

Siklus kerja atau duty cycle sebuah gelombang di definisikan sebagai,

(2)

Tegangan keluaran dapat bervariasi dengan duty-cycle dan dapat dirumusan sebagai berikut,

(3)

sehingga: (4)

STIKOM

(41)

Dari rumus diatas dapat ditarik kesimpulan bahwa tegangan keluaran dapat diubah-ubah secara langsung dengan mengubah nilai Ton.

Apabila Ton adalah 0, Vout juga akan 0. Apabila Ton adalah

Ttotal maka Vout adalah Vin atau katakanlah nilai maksimumnya.

Penjelasan tersebut diatas merupakan keseluruhan dari teori dasar dibalik sistem PWM. Sekarang, mari kita kita lihat pada implementasi praktek dari teori PWM tersebut diatas pada sebuah microcontroller(Ari, 2010).

STIKOM

(42)

33 3.1 Model Penelitian

Pengerjaan Tugas Akhir ini dapat terlihat jelas dari blok diagram yang tampak pada gambar 3.1. Blok diagram tersebut menggambarkan proses dari

capture gambar hingga perintah ke motor. Terdapat beberapa komponen penting pada blok diagram tersebut antara lain adalah webcam, PC, microcontroller dan motor DC.

Kamera Personal Computer Mikrokontroler Motor Roda Kanan

dan Kiri

USB UART

Gambar 3.1 Blok Diagram

Gambar 3.1 merupakan proses mengalirnya data input hingga menjadi output. Data yang diperoleh dari kamera berupa data lintasan yang tampak oleh kamera robot pada saat di lintasan lalu data tersebut dikirim ke personal computer melalui USB. Pada personal computer hasil kamera tersebut diolah pada software Microsoft Visual C++ 2008 menggunakan library OpenCV dan hasilnya dikirm melalui serial menuju microcontroller. Microcontroller mengendalikan motor sesuai dengan perintah dari PC, sehingga motor DC dapat berjalan sesuai dengan jalan yang ditempuh mobile robot.

3.2 Proses Pendeteksian Jalan

Proses Pendeteksian Jalan yang dilakukan oleh processor (notebook) tampak pada blok diagram gambar 3.2.

STIKOM

(43)
[image:43.595.116.513.90.128.2]

Gambar RGB Grayscale Biner

Perintah arah jalan berdasarkan koordinat pixel

Gambar 3.2 Blok Diagram Pengolahan gambar

Pada gambar 3.2 gambar RGB diperoleh dari hasil capture kamera yang lalu dirubah ke gambar grayscale kemudian biner. Pada gambar biner, gambar jalan terlihat kontras antara jalan dan bahu jalan. Sehingga diambil lah koordinat pada bahu jalan untuk menjadi acuan mobile robot bergerak ke kiri, ke kanan atau lurus.

3.2.1 Proses Perubahan Warna dari RGB ke Grayscale

Proses perubahan warna dari RGB ke Grayscale bertujuan untuk mempermudah proses selanjutnya yaitu proses merubah grayscale menjadi biner. Sehingga gambar yang diterima oleh processor (notebook) dirubah langsung ke grayscale. Perubahan gambar RGB ke Grayscale menggunakan library openCV pada visual C++ menggunakan perintah sebagai berikut.

cvCvtColor( src, image2Gray, CV_BGR2GRAY);

Pada perintah tersebut sudah terdapat dua frame, yang satu berisi gambar asli dari kamera (src) sedangkan yang lainnya adalah frame yang disediakan

untuk hasil perubahan ke grayscale (image2Gray). Sehingga maksud dari potongan perintah tersebut adalah mengubah gambar src ke grayscale

(CV_BGR2GRAY) lalu disimpan pada frame bernama image2Gray.

3.2.2 Proses Perubahan Gambar Grayscale ke Biner

Proses perubahan gambar grayscale ke biner bertujuan untuk membedakan warna secara kontras antara bahu jalan dan badan jalan. Sehingga perintah untuk arah kanan dan kiri maupun lurus dapat semakin jelas. Berikut adalah perintah

STIKOM

(44)

yang memanfaatkan library OpenCV untuk mengubah gambar grayscale menjadi biner.

cvThreshold(image2Gray,image2Gray,50,255,CV_THRESH_BINARY);

Pada perintah tersebut gambar grayscale dari frame image2Gray dirubah menjadi biner (CV_THRESH_BINARY) dengan threshold 50 dan disimpan pada

frame yang sama yaitu image2Gray. Threshold bertujuan mengubah pixel diatas threshold untuk menjadi pixel bernilai 255 sedangkan dibawah threshold dirubah menjadi 0, dengan demikian didapatkanlah gambar biner.

3.2.3 Proses Pengambilan Koordinat sebagai Acuan

Pada proses ini penulis menetapkan koordinat pixel yang digunakan sebagai acuan mobile robot untuk bergerak ke kiri maupun ke kanan. Koordinat pixel yang dipakai adalah koordinat pixel bahu jalan (kanan dan kiri robot) pada posisi robot di tengah jalan, sehingga koordinat tersebut dapat digunakan sebagai acuan. Apabila posisi acuan tersebut terdeteksi mengenai jalan maka robot melakukan aksi, yaitu belok kiri atau kanan tergantung pada acuan kiri atau kanan yang terkena badan jalan. Berikut adalah flowchart untuk memperjelas dari proses pendeteksian jalan.

STIKOM

(45)

START

Inisialisasi : pixel batas kanan dan kiri

Jalan mengenai batas kiri ?

Jalan mengenai batas kanan?

Motor kanan : mundur Motor kiri : maju

Motor kanan : maju Motor kiri : mundur

Motor kanan : maju Motor kiri : maju

Y

T

Y

T

Gambar 3.3 Flowchat Pendeteksian Jalan

Pada gambar 3.3 dijelaskan bahwa terdapat pixel yang menjadi batas kanan dan kiri. Pixel tersebut menjadi acuan motor robot untuk bergerak ke kanan dan ke kiri. Berikut bagian dari kode program dalam menentukan pixel hingga keputusan robot bergerak ke kanan atau kiri.

STIKOM

(46)

CvScalar s; for(i=0;i<120;i++) { s=cvGet2D(image2Gray,460,i); if (s.val[0]==255) k++; } for(i=520;i<640;i++) { s=cvGet2D(image2Gray,460,i); if (s.val[0]==255) j++; }

Pixel dapat diambil dengan memanfaatkan library CvScalar, pada potongan perintah tersebut terlihat bahwa pixel koordinat Y yang diambil pada pixel 460 sedangkan pixel koordinat X yang diambil antara pixel ke 0 sampai 120 (acuan kiri) dan pixel 520 hingga 640 (acuan kanan). Apabila pixel acuan tersebut terkena badan jalan yang bernilai 255 maka diaktifkan flag kanan atau kiri yang digunakan untuk melanjutkan perintah output.

Jarak antara kamera dengan jalan yang terproyeksi oleh pixel baris 460 adalah 80 cm. Dengan jarak 80 cm, perbandingan jarak yang sebenarnya dengan pixel adalah 1 : 13. Dapat diartikan bahwa 1 cm sama dengan 13 pixel, dengan ketentuan jarak kamera dengan pixel yang dimaksud adalah 80 cm.

3.3 Komunikasi Menggerakan Mobile Robot

Untuk dapat menggerakan mobile robot maka perintah dari Processor harus dikirim ke microcontroller melalui UART, lalu data yang diterima microcontroller dibaca dan diproses selanjutnya hingga memperoleh output sesuai yang diinginkan.

3.3.1 Pengiriman data dari Processor (Notebook)

Pengiriman data dari processor berupa pengiriman data karakter. Pengiriman dilakukan melalui UART dari processor yang sudah dilengkapi

STIKOM

(47)

dengan RS-232 menuju mikrontroler dan data yang dikirim adalah “x” (perintah kiri), “y” (perintah kanan) dan “z” (perintah maju). Processor mendeteksi perintah

kiri maka processor mengaktifkan flag kiri yang lalu menjadi tanda untuk pengiriman data “x” ke microcontroller. Berikut adalah perintah untuk mengirim

data. if (k<=3) { cout<<(stderr,"kiri\n"); if (hanny.Open(1,9600)) {

char* start= "x";

hanny.SendData(start, 1); cout<<(stderr,"openedX\n"); }

k=0; }

else if (j<=3) {

cout<<(stderr,"kanan\n"); if (hanny.Open(1,9600)) {

char* start= "y";

hanny.SendData(start, 1); cout<<(stderr,"openedY\n"); } j=0; } else { cout<<(stderr,"lurus\n"); k=0; j=0; if (hanny.Open(1,9600)) {

char* start= "z";

hanny.SendData(start, 1); cout<<(stderr,"OpenL\n"); }

}

Pada potongan perintah tersebut ditunjukan bahwa COM serial yang digunakan adalah port 1 dan baudrate yang digunakan sebesar 9600. Perintah pengiriman variabel start dengan dengan perubahan nilai menjadi x ,y atau z

STIKOM

(48)

sesuai dengan perintah, dan banyaknya karakter yang dikirim adalah 1 hanny.SendData(start, 1). Sebelum perintah tersebut terdapat header dan function yang terlampir digunakan untuk melengkapi perintah mengirim data secara serial.

3.3.2 Penerimaan Data Microcontroller

Data dari processor diolah oleh microcontroller agar dapat mengeluarkan output yang nantinya dapat mengendalikan motor DC. Berikut adalah potongan perintah yang digunakan microcontroller untuk menerima data serial.

angka=getchar();

if (angka=='y') // kanan

{ OCR1A=40;

PORTD.7=1; //mki OCR1B=40;

PORTD.6=0;

putchar('a'); }

else if (angka=='x') // kiri { OCR1A=40; PORTD.7=0; OCR1B=40; PORTD.6=1; putchar('b'); }

else if (angka=='z') // lurus { OCR1A=40; PORTD.7=1; OCR1B=40; PORTD.6=1; putchar('c'); }

else if(angka == 'a') {

OCR1A=OCR1B=PORTD.7=PORTD.6=0; }

Pada potongan perintah diatas ditunjukan bahwa variabel angka digunakan untuk penyimpanan karakter sementara yang dikirim lalu dipilah-pilah

STIKOM

(49)

sesuai dengan perintah lalu diproses menjadi output yang digunakan untuk mengendalikan motor DC.

3.4 Perancangan Perangkat Keras 3.4.1 Minimum Sistem ATMEGA8535

Minimum sistem ATMEGA8535 yang digunakan adalah minimum sistem dari innovative electronics. Dengan spesifikasi sebagai berikut

1. Microcontroller ATMEGA8535 yang mempunyai 8KB Flash Memory dan 8 channel ADC dengan resolusi 10 bit.

2. Mendukung varian AVR 40 pin, antara lain : ATMega8535, ATMega8515, AT90S8515, AT90S8535, dll. Untuk tipe AVR tanpa internal ADC membutuhkan Conversion Socket.

3. Memiliki jalur I/O hingga 35 pin.

4. Terdapat eksternal Brown Out Detector sebagai rangkaian reset.

5. Konfigurasi jumper untuk melakukan pemilihan beberapa model pengambilan tegangan referensi untuk tipe AVR dengan internal ADC. 6. LED Programming indicator.

7. Frekwensi Osilator sebesar 4 MHz.

8. Tersedia jalur komunikasi serial UART RS-232 dengan konektor RJ-11. 9. Tersedia port untuk pemrograman secara ISP.

10.Tegangan input Power Supply 9-12 VDC dan output tegangan 5 VDC. Konfigurasi minimum sistem digambarkan pada gambar 3.4.

STIKOM

(50)

Gambar 3.4 Konfigurasi Minimum Sistem ATMega8535. (Innovative Electronics, 2004)

STIKOM

(51)

3.4.2 Relay Driver

Relay driver digunakan untuk mengendalikan motor DC. Penggunaan relay driver sebagai pengendali motor dikarenakan motor yang dikendalikan adalah motor DC 20 watt dan 12 VDC, sehingga memerlukan motor driver yang sesuai dengan spesifikasi motor tersebut. Gambar 3.5 adalah konfigurasi rangkaian relay driver.

Gambar 3.5 Rangkaian Relay Driver

Relay driver tersebut digunakan karena dapat digunakan untuk mengurangi kecepatan motor sesuai dengan nilai PWM yang digunakan microcontroller sehingga kecepatan mobile robot dapat dikendalikan untuk mengurangi error yang terjadi pada saat mobile robot berjalan di lintasannya. 3.4.3 Desain Mekanik Robot

Desain mekanik robot, terdiri dari dua motor, base robot dan tiga buah roda. Robot dirancang dengan perangkat elektronik lainnya seperti kamera, relay driver dan minimum sistem, sehingga dapat menjadi suatu bentuk mobile robot. Mobile robot ini dirancang seperti robot line follower, namun karena metode dan

STIKOM

(52)

perangkat keras yang digunakan berbeda dengan line follower maka bentuk disesuaikan dengan kebutuhan. Berikut adalah bentuk keseluruhan dari mobile robot.

[image:52.595.49.534.158.733.2]

Gambar 3.6 Robot tampak atas

Gambar 3.7 Robot tampak samping kanan Diameter roda : 7,5

cm

40 cm

26 cm

STIKOM

(53)

Gambar 3.8 Robot tampak samping kiri

73 cm

27,5 cm

STIKOM

(54)
[image:54.595.45.550.78.714.2]

Gambar 3.9 Robot tampak depan

Gambar 3.10 Robot tampak belakang 36 cm

STIKOM

(55)

3.5 Pulse Width Modulation (PWM)

Pengendalian motor DC menggunakan PWM. PWM digunakan untuk menurunkan kecepatan sehingga laju dari mobile robot dapat dikendalikan dan error(keluar dari jalur) dapat dikurangi. Laju dari mobile robot dapat dikendalikan dengan mengubah-ubah nilai PWM yang dikendalikan melalui microcontroller. Sehingga kecepatan dari mobile robot dapat diklasifikasikan menjadi 4 kecepatan, yaitu berhenti, kecepatan pelan, sedang hingga cepat. Pemberian nilai PWM dapat diberikan sebagai berikut :

Tabel 3.1 Kecepatan Motor DC

No. Kecepatan Nilai PWM

1. Berhenti 0

2. Pelan 1-85

3. Sedang 86-170

4. Cepat 171-255

Pada penelitian ini, mobile robot menggunakan kecepatan pelan dengan tujuan error yang dihasilkan sangat kecil sehingga mobile robot dapat berjalan dengan baik. Dengan demikian mobile robot pada penelitian ini diberikan nilai PWM antara 1 -85.

3.6 Perancangan Jalan

Jalan yang digunakan untuk menjadi lintasan pada penelitian ini mempunyai karakteristik tikungan ke kiri dan ke kanan sama banyak dan sama besar, sehingga penelitian ini berimbang antara tikungan kanan dan tikungan kiri. Dengan panjang jalan 16 m dan lebar jalan 39 cm yang terbuat dari bahan vinyl yang dicetak dengan digital printing. Warna jalan dan bahu jalan hanya terdiri dari warna hitam dan putih. Berikut adalah gambar jalan yang digunakan pada penelitian ini.

STIKOM

(56)

Gambar 3.11 Jalan Mobile Robot *) lebar jalan 39cm.

4 Meter

4 Meter

STIKOM

(57)

48 4.1 Pengujian Koneksi Serial UART

Pengujian koneksi ini membuktikan bahwa PC dapat dihubungkan dengan microcontroller menggunakan komunikasi serial.

4.1.1 Tujuan

Pengujian koneksi ini bertujuan untuk mengetahui perintah yang dikirm di PC dapat diolah oleh microcontroller.

4.1.2 Alat Yang Digunakan

1. Processor (PC)

2. Software CodeVision AVR 2.03.4

3. Minimum System ATMEGA8535

4.1.3 Prosedur Pengujian

1. Menyalakan Minimum System ATMEGA8535

2. Siapkan PC dengan program test serial dengan compiler CodeVision AVR.

3. Download program tersebut ke ATMEGA8535.

STIKOM

(58)

4. Hubungkan melalui kabel serial antara PC dengan Minimum System ATMEGA8535.

5. Jalankan Program CodeVision AVR dan pilih menu “Run the terminal”.

6. Ketik perintah yang dapat diolah microcontroller, sesuai dengan program yang sebelumnya telah di-download.

7. Perhatikan respon dari terminal tersebut.

4.1.4 Hasil Pengujian Koneksi Serial UART

Koneksi antara PC dan microcontroller dapat terkoneksi secara serial dengan baik, hal ini tampak pada gambar 4.1.

Gambar 4.1 Pengujian Komunikasi Serial Sukses

Terlihat pada gambar 4.1 bahwa satu karakter muncul dua kali, hal tersebut dikarenakan satu karakter input dan satu lagi karakter output. Karena program yang di-download adalah program untuk mengembalikan karakter yang dikirim (karakter input).

STIKOM

(59)

4.2 Pengujian Pergerakan Mobile Robot

Pengujian ini menggunakan objek dua buah motor DC 12 V dengan driver relay.

4.2.1 Tujuan

Tujuan dari pergerakan mobile robot adalah untuk mengetahui pergerakan dari mobile robot.

4.2.2 Alat Yang Digunakan

1. Dua motor DC 12V

2. Driver relay

3. Minimum System ATMEGA8353

4. Software CodeVision AVR 2.03.4

4.2.3 Prosedur Pengujian

1. Menyalakan Minimum System ATMEGA8535

2. Siapkan PC dengan program tes motor dengan CodeVision AVR.

3. Download program tersebut ke ATMEGA8535.

4. Beri tegangan 5V dan GND pada input relay driver.

5. Perhatikan respon dari motor tersebut

STIKOM

(60)

4.2.4 Hasil Pengujian

Hasil dari pengujian ini adalah pergerakan dari motor DC 12V yang dapat dikendalikan sesuai dengan input. Pergerakan dari motor tersebut adalah pergerakan maju dan mundur dari motor tersebut.

Tabel 4.1 Percobaan Dan Hasil Output Motor Dengan Input Serial.

No

. PWM

PD.6 (kiri) PD.7 (kanan) M.Kiri M.kanan

Input Output

1. 0-4 1 1 Berhenti Berhenti

2. 0-4 0 0 Berhenti Berhenti

3. 5-37 1 1 Maju pelan sekali Maju pelan sekali

4. 5-37 0 0 Mundur pelan

sekali

Mundur pelansekali

5. 38-83 1 1 Maju pelan Maju pelan

6. 38-83 0 0 Mundur pelan Mundur pelan

7. 84-153 1 1 Maju sedang Maju sedang

8. 84-153 0 0 Mundur sedang Mundur sedang

9. 154-255 1 1 Maju cepat Maju cepat

10. 154-255 0 0 Mundur cepat Mundur cepat

4.3 Pengujian Penentuan nilai thresholding 4.3.1 Tujuan

Tujuan dari Pengujian ini adalah mencari nilai thresholding yang sesuai untuk pengambilan data kamera.

4.3.2 Alat yang digunakan

1. Luks meter (pengukur cahaya) 2. Web Cam

3. PC

4. Software Visual C++ 2008 yang telah dilengkapi library OpenCV.

STIKOM

(61)

4.3.3 Prosedur Pengujian

1. Ukur cahaya ruangan dengan luks meter 2. Lihat hasilnya pada PC

3. Perhatikan dan sesuaikan hasil pada PC dengan hasil pada Luks meter 4. Tentukan nilai thresholding yang sesuai.

4.3.4 Hasil Pengujian

Hasil dari pengujian ini berupa satuan cahaya yang sesuai dan dapat digunakan untuk pemrosesan data. Selain itu hasil dari pengujian ini adalah nilai thersholding yang digunakan untuk pemrosesan pengolahan citra.

Tabel 4.2 Pengukuran Cahaya dengan hasil greyscale pada PC

No. Intensitas Cahaya (fluks) Hasil pada PC (grey)

1. 1,3 Terlalu gelap

2. 2,5 Terlalu gelap

3. 3,0 Terlalu gelap

4. 3,8 Jelas

5. 4,5 Jelas

6. 5,5 Jelas

7. 6,0 Terlalu terang

8. 7,2 Terlalu terang

9. 8,5 Terlalu terang

10. 9,0 Terlalu terang

Didapatkan range yang terbaik untuk melakukan pemrosesan pengolahan data pada citra adalah 3,8 hingga 5,5. Sehingga pada saat pengujian mencari nilai thresholding maka range intensitas cahaya yang digunakan adalah 3,8 hingga 5,5. Pada pengujian ini penulis menggunakan cahaya pada 4,0 fluks. Sehingga memperoleh hasil sebagai berikut.

STIKOM

(62)
[image:62.595.42.556.111.746.2]

Tabel 4.3 Hasil Pengujian Thresholding

No. Nilai Thresholding Hasil Pada PC (biner)

1. 2 Terlalu banyak noise

2. 5 Terlalu banyak noise

3. 7 Terlalu banyak noise

4. 10 Terlalu banyak noise

5. 12 Terlalu banyak noise

6. 15 Terlalu banyak noise

7. 17 Terlalu banyak noise

8. 20 Terlalu banyak noise

9. 22 Terlalu banyak noise

10. 25 Terlalu banyak noise

11. 27 Terlalu banyak noise

12. 30 Terlalu banyak noise

14. 32 Terlalu banyak noise

15. 35 Terlalu banyak noise

16. 37 Jelas

17. 40 Jelas

18. 42 Jelas

19. 45 Jelas

20. 47 Jelas

21. 50 Jelas

22. 52 Jelas

23. 55 Jelas

24. 57 Jelas

25. 60 Jelas

26. 62 Jelas

27. 65 Terlalu terang

28. 67 Terlalu terang

29. 70 Terlalu terang

30. 72 Terlalu terang

31. 75 Terlalu terang

32. 77 Terlalu terang

33. 80 Terlalu terang

34. 82 Terlalu terang

35. 85 Terlalu terang

36. 87 Terlalu terang

37. 90 Terlalu terang

38. 92 Terlalu terang

STIKOM

(63)

39. 95 Terlalu terang

40. 97 Terlalu terang

41. 100 Terlalu terang

42. 102 Terlalu terang

43. 105 Terlalu terang

44. 107 Terlalu terang

45. 110 Terlalu terang

46. 112 Terlalu terang

47. 115 Terlalu terang

48. 117 Terlalu terang

49. 120 Terlalu terang

50. 122 Terlalu terang

51. 125 Terlalu terang

52. 127 Terlalu terang

53. 130 Terlalu terang

54. 132 Terlalu terang

55. 135 Terlalu terang

56. 137 Terlalu terang

57. 140 Terlalu terang

58. 142 Terlalu terang

59. 145 Terlalu terang

60. 147 Terlalu terang

61. 150 Terlalu terang

62. 152 Terlalu terang

63. 155 Terlalu terang

64. 157 Terlalu terang

65. 160 Terlalu terang

66. 162 Terlalu terang

67. 165 Terlalu terang

68. 167 Terlalu terang

69. 170 Terlalu terang

70. 172 Terlalu terang

71. 175 Terlalu terang

72. 177 Terlalu terang

73. 180 Terlalu terang

74. 182 Terlalu terang

75. 185 Terlalu terang

76. 187 Terlalu terang

77. 190 Terlalu terang

78. 192 Terlalu terang

79. 195 Terlalu terang

STIKOM

(64)

80. 197 Terlalu terang

Gambar

Tabel 2.1. Konfigurasi pengaturan untuk Port I/O ...........................................
Gambar RGBGrayscaleBiner
Gambar 3.7 Robot tampak samping kanan
Gambar 3.10 Robot tampak belakang
+5

Referensi

Dokumen terkait

Selain itu, aplikasi ini juga berhasil menampilkan gambar yang ditangkap oleh mobile robot sehingga pengguna tidak perlu lagi menggerakkan robot dari jarak

PC ini akan mengendalikan mobile robot dengan memberikan data ke mikrokontroler utama melalui komunikasi serial RS-232 dan menampilkan gambar dari kamera yang

Grafik pada Gambar 3 menunjukkan bahwa mobile robot mengikuti lintasan yang telah ditentukan pada bidang XY, di mana hasil estimasi trajectory dengan menggunakan

Skripsi berjudul “Desain Pengolahan Citra Autonomous Mobile Robot Penjejak Bola Menggunakan Kamera” telah diuji dan disahkan oleh Fakultas Teknik Universitas Jember pada

Diagram alir sistem dengan penghalang Maka pada sistem dengan objek penghalang didapatkan hanya dua parameter akhir yaitu sudut mobile robot dengan target (sudut_tu) dan

Mobile robot berjalan lurus ke arah selatan hingga tiba di depan gerbang status 16, bila sensor 0 mendeteksi adanya dinding maka mobile robot sudah berada pada depan gerbang

Deteksi lokasi keberadaan robot dilakukan berdasarkan kesamaan fitur citra yang ditangkap kamera robot

dalam pembuatan Tugas Akhir robot becak dengan sensor kamera CMUCam menggunakan ATMega8535.. BAB IV : HASIL