PENGENDALIAN ROBOT BECAK MENGGUNAKAN SENSOR KAMERA DENGAN MIKROKONTROLER ATMEGA8535.

PENGENDALIAN ROBOT BECAK MENGGUNAKAN
SENSOR KAMERA DENGAN MIKROKONTROLER
ATMEGA8535

SKRIPSI

Oleh :
CANDRA TANTYO PUTRA PRASETYO
NPM. 0734010037

J URUSAN TEKNIK INFORMATIKA FAKULTAS
TEKNOLOGI INDUSTRI UNIVERSITAS PEMBANGUNAN
NASIONAL "VETERAN" J AWA TIMUR
2012

PENGENDALIAN ROBOT BECAK MENGGUNAKAN
SENSOR KAMERA DENGAN MIKROKONTROLER
ATMEGA8535
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan
Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika

Oleh :
CANDRA TANTYO PUTRA PRASETYO
NPM. 0734010037

J URUSAN TEKNIK INFORMATIKA FAKULTAS
TEKNOLOGI INDUSTRI UNIVERSITAS PEMBANGUNAN
NASIONAL "VETERAN" J AWA TIMUR
2012

LEMBAR PENGESAHAN

PENGENDALIAN ROBOT BECAK MENGGUNAKAN
SENSOR KAMERA DENGAN MIKROKONTROLER
ATMEGA8535
Oleh :
CANDRA TANTYO PUTRA PRASETYO
NPM. 0734010037


Telah disetujui untuk mengikuti Ujian Negara Lisan
Gelombang Tahun Akademik 2011/2012

Pembimbing Utama

Pembimbing Pendamping

Basuki Rahmat. S.Si. MT
NIP/NPT. 3 6907 06 0209 1

Ir. Kartini,S.Kom, MT
NIP/NPT. 19611110 199103 2001

Mengetahui,
Ketua J urusan Teknik Infor matika
Fakultas Teknologi Industri
UPN ”Veteran” J awa Timur

Dr. Ir. Ni Ketut Sari, MT.
NIP.19650731 199203 2 001


SKRIPSI
PENGENDALIAN ROBOT BECAK MENGGUNAKAN
SENSOR KAMERA DENGAN MIKROKONTROLER
ATMEGA8535
Oleh :
CANDRA TANTYO PUTRA PRASETYO
NPM. 0734010037
Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skripsi
J urusan Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur
Pada Tanggal 14 Desember 2012
Pembimbing :

Tim Penguji :

1.

1.


Basuki Rahmat. S.Si. MT
NIP/NPT. 3 6907 06 0209 1

Prof. Dr. Ir. Sri Redjeki, MT
NIP/NPT. 19570314 198603 2 001

2.

2.

Ir. Kartini,S.Kom, MT
NIP/NPT. 19611110 199103 2001

Rinci Kembang Hapsari, S.SI, M.kom
NIP/NPT. 37712 080 1681
3.
Fetty Tri Anggraeny, S.Kom, M.Kom
NIP/NPT. 3 8202 06 0208 1

Mengetahui,

Dekan Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur

Ir. SUTIYONO, MT.
NIP. 19600713 198703 1001

Judul

: PENGENDALIAN ROBOT BECAK MENGGUNAKAN SENSOR KAMERA
DENGAN MIKROKONTROLER ATMEGA8535

Pembimbing 1

: Basuki Rahmat S.Si. MT

Pembimbing 2

: Ir. Kartini S.Kom. MT

Penyusun


: Candra Tantyo Putra Prasetyo

ABSTRAK
Di era teknologi seperti saat ini seiring kemajuan teknologi robotika yang
sangat pesat serta banyaknya kontes-kontes robotika belakangan ini membuat
kreatifias akan terciptanya robot-robot canggih semakin berkembang. Adanya wadah
dan komunitas-komunitas robotika dikalangan mahasiswa menjadikan teknologi ini
semakin digemari bahkan mulai menjadi salah satu kontes yang mengharumkan nama
bangsa di dunia internasional.
Pada penelitian ini akan di kembangkan suatu sistem dengan menggunakan
sensor kamera yang dapat bergerak menghampiri objek sebuah benda berwarna
kuning. Sistem ini merupakan tahap awal untuk mengembangkan suatu sensor dalam
bentuk pengolahan citra.
Dalam subsistem pengolahan citra digunakan sensor kamera sebagai
pengambilan data gambar sebagai pendeteksi objek benda berwarna yang ada di
depanya. Pada proses ini di gunakan compiler bahasa pemograman C. Subsistem
perangkat keras yang digunakan adalah robot becak Surabaya yang telah dibuat pada
penelitian sebelumnya. Subsistem pengendali menggunakan satu buah mikrokontroler
ATMEGA8535, sensor kamera CMUCam, Motor DC, Servo.

Hasil dari penelitian ini bahwa sebuah sensor CMUCam dapat mengetahui
sebuah objek benda berwarna. Jenis sensor ini akan berpengaruh pada jenis keadaan
yang ada di sekitarnya, misal Terang, Redup dan Gelap. Karena nilai RGB yang di
dapat akan berbeda dari keadaan tersebut.

Kata Kunci

: Robot Becak, Motor DC, Servo, Kamera CMUCam, ATMega8535,
Bahasa C, Pengolahan Citra.

i

KATA PENGANTAR
Segala Puji Bagi ALLAH SWT atas segala limpahan Karunia-Nya sehingga
dengan segala keterbatasan waktu, tenaga dan pikiran yang dimiliki penyusun,
akhirnya penyusun dapat menyelesaikan Skripsi dengan judul “PENGENDALIAN
ROBOT

BECAK


MENGGUNAKAN

SENSOR

KAMERA

DENGAN

MIKROKONTROLER ATMEGA8535” dengan tepat waktu.
Skripsi ini merupakan syarat akademis yang harus dipenuhi oleh mahasiswa
jurusan Teknik Informatika UPN “Veteran” Jawa Timur Surabaya.
Dalam penulisan laporan skripsi ini penulis menyadari telah mendapatkan
banyak bantuan dari berbagai pihak baik segi moril maupun materil. Oleh karena itu
pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya
kepada :
1) Bapak Prof. Dr. Ir. Teguh Soedarto, MP, Selaku Rektor Universitas
Pembangunan Nasional “Veteran” Jawa Timur Surabaya.
2) Bapak Ir. Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri
Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya.
3) Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika

Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya.
4) Bapak Basuki Rahmat, Ssi, MT dan Ibu Ir. Kartini MT selaku dosen
pembimbing di jurusan Teknik Informatika Universitas Pembangunan
Nasional “Veteran” Jawa Timur Surabaya yang telah memberikan waktu,

ii

arahan dan bimbingannya sehingga penulis dapat menyelesaikan laporan
skripsi ini.
5) Untuk Keluarga tersayang ( Ayah, Ibu, Kakak, Adik ) yang telah memberikan
dukungan, doa, cinta, dan kasih sayang dan semua pengorbanan yang beliau
berikan.
6) Untuk saudara Suep Rizal dan Astria Rus Andika Susila yang telah memberi
ijin untuk robotnya di kembangkan dan di oprek-oprek.
7) Teman-teman penulis : Untuk Teman-teman seangkatan, Malik, Faisol, Juzz,
Ardi, Cicik, Tobib, Adi Nugroho, Gibran, Gigih, Nophan, Rizal, Aditya, dan
semua teman yang berjasa atas dukungannya dan semua pihak yang tidak
mungkin penulis sebutkan namanya satu per satu terima kasih telah membantu
penulis untuk menyelesaikan skripsi ini.


Penulis menyadari bahwa dalam penulisan laporan skripsi ini masih banyak
kekurangan nya. Oleh sebab itu penulis mengharapkan kritik dan saran yang sifatnya
membangun dari pembaca. Semoga laporan ini bermanfaat bagi penulis dan para
pembaca.

Surabaya, .. Des 2012

(Penulis)
iii

DAFTAR ISI
Abstraksi……………………………………………………………………………….i
Kata Pengantar………………………………………………….……………………..ii
Daftar Isi……………………………………………………………………………...iv
Daftar Gambar………………………………………………………………………..vi
Daftar Tabel…………………………………………………………………………viii

Bab I

PENDAHULUAN……………………………………………………1

1.1 Latar Belakang…………………………………………………….1
1.2 Rumusan Masalah…………………………………………………2
1.3 Batasan Masalah………………………………………………..…3
1.4 Tujuan……………………………………………………………..3
1.5 Manfaat……………………………………………………………4
1.6 Metode Penelitian…………………………………………………4
1.7 Sistematik Penulisan………………………………………………5

Bab II

TINJ UAN PUSTAKA……………………………………………….7
2.1 Sejarah Perkembangan Robot……………………………………..7
2.2 Mikrokontroler ATMega 8535…………………………………..10
2.2.1 Konfigurasi Pin Mikrokontroler ATMega 8535…….....13
2.2.2 Peta Memori Mikrokontroler ATMega 8535………….17
2.3 Sistem Minimum………………………………………………...19
2.4 CMUCam Kamera……………….………………………………20
2.5 Motor DC………………………..……………………………….22
2.6 Motor Servo……………………………………………………...26
2.7 Roda Gigi ( Gear )……………………………………………….25
2.8 Pemograman Bahasa C…………………………………………..26
2.8.1 Alasan menggunakan Bahasa C………………………..27
2.8.2 Struktur Penulisan Bahasa C…………………………..27

iv

Bab III

ANALISIS dan PERANCANGAN SISTEM……………………..29
3.1 Sistem Perangkat Keras………………………………………….32
3.1.1 Analisa Perangkat Keras…………………………….…32
3.1.2 Kebutuhan Perangkat Keras…………………………...33
3.1.3 Perancangan Perangkat keras………………………….34
3.1.4 Perangcangan Badan Robot Becak……………………36
3.2 Sistem Perangkat Lunak…………………………………………40
3.2.1 Analisa Perangkat Lunak………………………………40
3.2.2 Perancangan Perangkat Lunak…………………………41

Bab IV

IMPLEMENTASI SISTEM……………………………………….44
4.1 Perakitan Robot………………………………………………….44
4.1.1 Scematic CMUCam……………………………………47
4.2 Pemasangan Software……………………………………………52
4.3 Implementasi Coding…………………………………………….63
4.4 Implementasi seluruh Robot……………………………………..66

Bab V

UJ I COBA dan EVALUASI……………………………………….67
5.1 Pengujian Sensor Kamera CMUCam……………………………68
5.1.1 Pengukuran Jarak………………………………………68
5.2

Pengujian Kemampuan Motor DC…………………………..69

5.3

Pengujian Pada Objek Benda………………………………...70

5.4 Tabel Pengujian………………………………………………….74
Bab VI

PENUTUP…………………………………………………………..77
6.1 Kesimpulan………………………………………………………77
6.2 Saran……………………………………………………………..78

DAFTAR PUSTAKA……………………………………………………………….79

v

DAFTAR GAMBAR
Gambar 2.1

Blok Diagram Robot…………………………………………………..9

Gambar 2.2

Fisik ATMega 8535………………………………………………….11

Gambar 2.3

Blok Diagram ATMega 8535………………………………………..12

Gambar 2.4

Konfigurasi PIN ATMega 8535……………………………………..13

Gambar 2.5

Peta Memori Mikrokontroler ATMega 8535………………………..18

Gambar 2.6

Minimum Sistem ATMega 8535…………………………………….19

Gambar 2.7

CMUCam…………………………………………………………….21

Gambar 2.8

Blok Diagram CMUCam…………………………………………….22

Gambar 2.9

Servo dengan Horn Bulat…………………………………………….24

Gambar 2.10 Servo dengan Horn X………………………………………………..24
Gambar 2.11 Cara Kerja Servo……………………………………………………..25
Gambar 2.12 Struktur Penulisan Bahasa C………………………………………...28
Gambar 3.1

Flowchart Perakitan Robot…………………………………………..29

Gambar 3.2

Blok Diagram Sistem………………………………………………...31

Gambar 3.3

Rancangan Robot Becak……………………………………………..35

Gambar 3.4

Rancangan Robot Becak dari Bawah………………………………..36

Gambar 3.5

Robot Becak Tampak Samping……………………………………...37

Gambar 3.6

Jarak CMUCam Robot………………………………………………38

Gambar 3.7

Dudukan Sensor Kamera……….......………………………………..38

Gambar 3.8

Pengait Servo………………………………………………………...39

Gambar 3.9

Ilustrasi Gerak Robot Terhadap Objek………………………………41

Gambar 3.10 Flowchart Kerja Robot Becak……………………………………….42
Gambar 4.1

Bagian Bawah PCB Robot Becak……………………………………44

Gambar 4.2

Bagian Atas PCB Robot Becak……………………………………...45

Gambar 4.3

Fisik dari PCB Robot Becak…………………………………………47

Gambar 4.4

PCB CMUCam………………………………………………………48

Gambar 4.5

Fisik PCB CMUCam………………………………………………...48

Gambar 4.6

Schematic CMUCam………………………………………………...51

vi

Gambar 4.7

Langkah 1 Menginstall Progam Code Vision AVR…………………..52

Gambar 4.8

Langkah 2 Menginstall Progam Code Vision AVR…………………..52

Gambar 4.9

Langkah 3 Menginstall Progam Code Vision AVR…………………..53

Gambar 4.10 Langkah 4 Menginstall Progam Code Vision AVR…………………..53
Gambar 4.11 Langkah 5 Menginstall Progam Code Vision AVR…………………..54
Gambar 4.12 Langkah 6 Menginstall Program Code Vision AVR…………………54
Gambar 4.13 Langkah 7 Menginstall Progam Code Vision AVR………..…………54
Gambar 4.14 Langkah 8 Menginstall Progam Code Vision AVR…………………..55
Gambar 4.15 Langkah 9 Menginstall Progam Code Vision AVR…………………..55
Gambar 4.16 Membuat Halaman Baru dengan Code Vision AVR…………………56
Gambar 4.17 Pilihan Type File dengan Code Vision AVR…………………………56
Gambar 4.18 Konfigurasi Type Chip dengan Code Vision AVR…………………...57
Gambar 4.19 Konfigurasi Port pada Code Vision AVR……………………………57
Gambar 4.20 Konfigurasi Timers Pada Code Vision AVR…………………………59
Gambar 4.21 Generate Konfigurasi dengan Code Vision AVR…………………….60
Gambar 4.22

Hasil Desain CodeWizard………………………………………………….60

Gambar 4.23 Menyimpan Progam Robot dengan Code Vision AVR………………61
Gambar 4.24 Halaman Editor Code Vision AVR…………………………………...61
Gambar 4.25 SPI (Serial Peripheral Interface)……………………………………..62
Gambar 4.26 Potongan Source Code Servo….…………………………………….64
Gambar 4.26 Potongan Source Code Deteksi Objek……………………………….65
Gambar 5.1

Robot Becak yang sudah di rakit.........................................................67

Gambar 5.2

Jarak Sensor………………………………………………………….68

Gambar 5.3

Pengujian Motor DC…………………………………………………69

Gambar 5.4

Dengan benda datar warna kuning ( arah lurus )…………………….70

Gambar 5.5

Robot belok ke arah kanan…………………………………………..71

Gambar 5.6

Robot belok ke arah kiri……………………………………………..71

Gambar 5.7

Di luar ruangan dengan cahaya matahari…………………………….72

Gambar 5.8

Pengujian di dalam Ruangan………………………………………...72

Gambar 5.9

Pengujian dalam keadaan Gelap……………………………………..73

vii

DAFTAR TABEL
Tabel 2.1

Fungsi Alternatif Port B.......................................................................15

Tabel 2.2

Fungsi Alternatif Port D......................................................................16

Table 2.3

Kata Kunci (Keyword) Pada bahasa C……………………………….26

Tabel 5.1

Pengujian Terhadap Bola Berwarna Kuning……..………………….75

viii

BAB I
PENDAHULUAN

1.1

Latar Belakang
Perkembangan Ilmu Pengetahuan dan Teknologi robotika telah membuat

kualitas kehidupan manusia semakin tinggi, hampir dalam setiap aspek kehidupan
masyarakat selalu menggunakan teknologi robotika untuk dapat memanfaatkan
waktu se-efisien mungkin.
Salah satu pengaplikasian teknologi robotika yang berkembang cepat
adalah pada bidang transportasi. Masalah transportasi banyak dibahas baik di
Negara berkembang atau Negara maju, salah satu masalah tersebut adalah
kemacetan yang dikarenakan bertambahnya populasi kendaraan dimana hal ini
dipicu oleh bertamabahnya pengguna dalam setiap tahunnya. Sehingga
memerlukan trobosan inovasi serta pengaplikasian teknologi terbaru yang sesuai
dengan kondisi saat ini.
Untuk mengupayakan terciptanya kendaraan yang sesuai dengan kondisi
saat ini, maka perusahaan otomotif Honda mengembangkan robot becak Hi-Tech.
Dimana robot ini diharapkan dapat melintasi di jalan yang macet dan sempit serta
ramah terhadap lingkungan.
Pada tugas akhir kali ini akan membahas tentang pengembangan robot
becak berbasis mikrokontroller dengan sensor kamera jenis CMUCam sebagai
pengendalinya. Pada penelitian ini akan di kembangkan suatu sistem dengan
menggunakan sensor kamera yang dapat bergerak mendekati objek. Sistem ini

1

2

merupakan tahap awal untuk mengembangkan suatu sensor dalam bentuk image
processing.
Sistem ini di bagi menjadi beberapa subsistem yaitu subsistem pengolahan
image processing, subsistem perangkat keras dan subsistem pengendali. Dalam
subsistem pengolahan image processing digunakan sensor kamera sebagai
pengambilan data gambar dan proses. Pada proses ini di gunakan compiler bahasa
pemograman C. Subsistem pengolahan image processing berguna mendeteksi
adanya objek. Metode yang digunakan untuk medeteksi keberadaan objek tersebut
adalah menggunakan sensor kamera jenis CMUCam. Subsistem perangkat keras
yang digunakan adalah robot becak Surabaya yang telah dibuat pada penelitian
sebelumnya. Subsistem pengendali menggunakan satu buah mikrokontroler
ATMEGA8535, sensor kamera dapat menangkap gambar pada jarak 5cm sampai
dengan 10cm.

1.2

Rumusan Masalah
Adapun permasalahan yang akan dibahas adalah sebagai berikut :
1. Bagaimana merancang algoritma program yang tepat agar
mikrokontroller dapat mengelola data berupa objek berwarna..?
2. Bagaimana membuat rancangan hardware dengan sensor kamera
CMUCam yang dapat mengelola data objek berwarna..?
3. Bagaimana mengembangkan suatu sensor kamera dalam bentuk
image processing..?
4. Bagaimana menjadikan hasil karya seni menjadi lebih memiliki
sentuhan teknologi..?

3

1.3

Batasan Masalah
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas

akhir ini dapat berjalan degan baik adalah sebagai berikut :
1. Pengujian robot ini pada sebuah bidang datar, tidak licin dan tidak
ada halangan di sekitarnya.
2. Sensor kamera hanya mampu mendeteksi objek berwarna di
sekitarnya dengan jangkauan 5cm sampai dengan 10cm dan
mempunyai tinggi tidak kurang dari tinggi sensor kamera terhadap
lapangan.
3. Objek berupa bola plastic berwarna kuning.
4. Target berupa benda diam.
5. Bahasa pemrograman yang digunakan adalah Bahasa C.

1.4

Tujuan
Tujuan utama dari tugas akhir ini adalah merencanakan dan merealisasikan

sebuah robot dari hasil karya seni dengan kemampuan mendeteksi sebuah objek
berwarna dan objek tersebut diam ( tidak bergerak ). Mengacu pada tujuan utama
pada tugas akhir ini maka terdapat beberapa tujuan khusus antara lain :
1. Menggabungkan hasil karya seni dengan teknologi modern,
sehingga memiliki nilai lebih.
2. Merancang dan membuat robot untuk dapat mengenali sebuah
objek berwarna.
3. Mengembangkan suatu sensor kamera dalam bentuk image
processing.

4

4. Mempelajari dan mengendalikan Mokrokontroller ATMega8535
dengan sensor kamera jenis CMUCam.

1.5

Manfaat
Adapun manfaat yang dapat diambil dari pembuatan Robot Becak dengan

menggunakan ATmega8535 ini adalah :
1. Digunakan sebagai bahan media pembelajaran di Laboratorium
Robotika UPN Veteran Jawa Timur.
2. Sebagai bahan motivator mahasiswa UPN Veteran khusunya dan
para pelaku pendidikan untuk lebih mengembangkan robot yang
lebih canggih.

1.6

Metode Penelitian
Metodologi yang digunakan pada penelitian ini adalah sebagai berikut :
1. Studi literature mengenai pengendalian sensor kamera terhadap
objek

berwarna

dengan

menggunakan

mikrokontroler

ATMega8535.
2. Merancang serta menguji sensor kamera yang merupakan
pengendali robot.
3. Merancang

serta

menguji

sistem

minimal

Mikrokontroler

ATMega8535 sebagai pengendali sistem secara keseluruhan.
4. Merancang perangkat lunak yang berfungsi untuk membangkitkan
dan mengendalikan gerakan robot secara keseluruhan.

5

5. Menguji kinerja sistem secara keseluruhan serta mengambil data
dari hasil perancangan.
6. Menganalisa hasil dan membuat kesimpulan.

1.7

Sistematik Penulisan
Adapun Sistematika Tugas Akhir ini adalah:
BAB I

:

PENDAHULUAN
Bab ini menjelaskan tentang latar belakang, rumusan
masalah, batasan masalah, tujuan, manfaat, metodologi
penelitian dan sistematika penulisan.

BAB II

:

TINJ AUAN PUSTAKA
Pada bab ini dijelaskan tentang teori-teori serta
penjelasan-penjelasan yang dibutuhkan dalam
pembuatan robot becak menggunakan sensor kamera
CMUCam dengan mikrokontroler ATMega8535.

BAB III

:

PERANCANGAN
Bab ini berisi tentang analisa dan perancangan sistem
dalam pembuatan Tugas Akhir robot becak dengan
sensor kamera CMUCam menggunakan ATMega8535.

6

BAB IV

:

HASIL DAN PEMBAHASAN
Bab ini berisi penjelasan hasil Tugas Akhir serta
pembahasannya tentang robot becak dengan sensor
kamera CMUCam menggunakan ATMega8535.

BAB V

:

UJ I COBA DAN EVALUASI PROGRAM
Bab ini berisi pengujian program Tugas Akhir.

BAB VI

:

KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran-saran penulis.

BAB II
TINJ AUAN PUSTAKA

2.1

Sejarah dan Per kembangan Robot
Kemajuan teknologi umat manusia memang sangat mengagumkan.

Bermula dari rasa ingin tahu, berkembang menjadi sebuah temuan yang
mengagumkan. Adalah robot, salah satu penemuan yang paling mengagumkan
dalam sejarah manusia pada abad ke 20. Postingan singkat ini akan menguak
bagaimana sejarah awal dari sebuah sistem mekanika rumit dan bergerak, mampu
hadir ditengah masyarakat hingga kini, yang kita kenal dengan sebutan Robot.
Robot adalah alat menaknika yang dapat melakukan tugas fisik, baik lewat
pantauan manusia, maupun bekerja secara komputerisasi yang menghasilkan
kecerdasan dan perilaku yang individu.
Kata robot sendiri, diperkenalkan oleh seorang penulis sains-fiksi
berkebangsaan Ceko (Czech), Karel Capek (9 Januari 1890-25 Desember 1938)
pada tahun 1920an.
Robot sendiri, menurut Karel Capek, bukanlah pengertian "robot" yang
seperti kita kenal sekarang ini. Robot menurut dia adalah sesuatu yang mengarah
kepada "monoton", dan "pekerja".
Karel Capek memperkenalkan istilah robot (robota, bahasa CekoEnsiklopedia Indonesia) dalam sebuah karya sandiwaranya, Rossum's Universal
Robot.
Penciptaan robot yang sesunguhnya (bukan robot dalam sandiwara Karel
Capek), bermula dari keinginan manusia untuk membuat tiruan binatang atau
7

8

manusia itu sendiri. Namun fasilitas pengetahuan pada masa itu nampaknya
menjadi kendala terbesar dalam terwujudnya proyek tersebut. Akhirnya, dibuatlah
robot sederhana beroda yang digunakan untuk keperluan navigasi, pengamatan
tingkah laku, sampai dengan perencanaan jalur.
Berkembanglah robot dengan konsep heksapoda (konsep kaki enam) dan
beberapa platform kaki banyak lainya. Dan pada pada masa itu, serangga menjadi
inpirasi dalam pembuatan robot.
Saat ini, robot secara umum berfungsi sebagai pengganti pekerjaan
manusia, seperti membersihkan limbah beracun, untuk operasi medis, untuk
keperluan militer, untuk penyelidikan wahana dalam air, penjelajahan luar
angkasa, keperluan produksi, sampai untuk memotong rumput dan membersihkan
debu.
Sekarang, robot sudah menjadi suatu perangkat yang sangat berguna.
Walaupun definisi robot sendiri sangat banyak dan berbeda tiap negara dan
organisasi, namun, rupanya robot tidak hanya mendatangkan berbagai manfaat,
tapi juga kekhawatiran.
Istilah robot sekarang secara populer diartikan sebagai apa saja yang dapat
membentuk mesin–mesin robot yang diletakkan bersamaan dan bekerja secara
mandiri. Pada umumnya bagian–bagian yang menunjang pembentukan suatu
robot adalah :


Central Computer atau Control Circuitry, bagian ini sebagai otak yang
mengolah dan mengatur segala sesuatu yang menyebabkan robot itu
dapat kelihatan hidup. Dia mengolah apa yang diberikan oleh bagian

9

input dan mengontrol apa yang akan dilakukan pada bagian output nya.


Obstacle Detectors, Vision System, ini sebenarnya bagian dari input
yang memberikan masukan–masukan variabel guna diolah untuk
menentukan apa yang dilakukan oleh bagian outputnya.



Driver Motor, Arm, Gripper : tidak seluruhnya harus terpasang
lengkap, namun driver motor adalah yang paling dominan banyak
dijumpai pada robot, dan ini adalah bagian dari output sistemnya. Pada
umumnya bagian ini ditunjang oleh seperangkat alat–alat mekanis.



Central Power System : bagian ini amat vital karena merupakan nyawa
bagi robot. Ketiga bagian di atas selalu membutuhkan daya untuk
dapat bekerja, maka bagian ini sangat penting.

Berikut gambar 2.1 Blok Diagram Robot secara umum yang menggambarkan
deskripsi di atas :

Gambar 2.1 Blok Diagram Robot

10

Dari gambar 2.1 dapat terlihat bahwa sebuah robot sebagian besar terdiri dari
rangkaian mekanik yang saling terintegrasi satu dengan yang lainya.
Sumber

:

http://kolom-inspirasi.blogspot.com/2011/09/sejarah-dan-

perkembangan-robot-di-dunia.html#ixzz1oDBAosiI

2.2

Mikrokontroller ATMega 8535
Mikrokontroler merupakan suatu terobasan teknologi mikroprosesor dan

mikrokomputer yang merupakan teknologi semikonduktor dengan kandungan
transistor yang lebih banyak namun hanya membutuhkan ruang yang sangast
kecil, Lebih lanjut, mikrokontroler merupakan system computer yang mempunyai
satu atau beberapa tugas yang sangat spesifik, berbeda dengan PC (Personal
Computer ) yang memiliki beragam fungsi.
Tidak seperti sistem komputer yang mampu menangani berbagai macam
program aplikasi, mikrokontrler hanya bisa digunakan untuk suatu aplikasi
tertentu saja, perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada
sistem komputer perbandingan RAM dan ROM nya besar, artinya programprogram penggunba disimpan dalam ruang RAM yang relative besar, sedangkan
rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil,
Sedangkan pada mikrokontroler, perbandingan ROM dan RAM –nya yang besar,
artinya program kontrol disimpan dalm ROM (bias Masked ROM atau Flash
PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai
tempat penyimpanan sementara, termasuk register-register yang digunakn pada
mikrokontroler yang bersangkutan.

11

Mikrokontroler merupakan keseluruhan sistem komputer yang dikemas
menjadi sebuah chip di mana di dalamnya sudah terdapat Mikroprosesor, I/O,
Memori bahkan ADC, berbeda dengan Mikroprosesor yang berfungsi sebagai
pemroses data (Heryanto, dkk, 2008:1).
Mikrokontroller AVR (Alf and Vegard’s Risc processor) memiliki
arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian
besar instruksi dieksekusi dalam 1 siklus clock atau dikenal dengan teknologi
RISC (Reduced Instruction Set Computing). Secara umum, AVR dapat
dikelompokan ke dalam 4 kelas, yaitu keluarga AT90Sxx, keluarga ATMega dan
AT86RFxx. Pada dasarnya yang membedakan masing-masing adalah kapasitas
memori, peripheral dan fungsinya (Heryanto, dkk, 2008:1). Dari segi arsitektur
dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Gambar 2.2
berikut ini adalah gambar Mikrokontroler Atmega8535.

Gambar 2.2 Fisik ATMega 8535

12

Gambar 2.3 Blok Diagram ATMega 8535
Dari gambar 2.3 dapat dilihat bahwa ATMega 8535 memiliki kontruksi bagian
sebagai berikut :
1. Saluran I/O sebanyak 32 buah, yaitu Port A,Port B,Port C dan Port D.
2. ADC 8 channel 10 bit.
3. Tiga buah Timer/Counter dengan kemampuan pembanding.
4. CPU yang terdiri atas 32 buah register.
5. Watchdog timer dengan osilator internal.
6. SRAM sebesar 512 byte.
7. Memori Flash sebesar 8 KB dengan kemampuan Read While Write.
8. Interrupt internal dan eksternal.
9. Port antarmuka SPI (Serial Peripheral Interface).
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
11. Antarmuka komparator analog.
12. Port USART untuk komunikasi serial
Kapabilitas detail dari ATMega 8535 adalah sebagai berikut :
1. Sistem mikroprosesor 8 bit berbasis RISC dan memiliki kecepatan
maksimal 16 Mhz.

13

2. Kapasitas memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM
(Electrically Eraseble Programable Read Only Memory) sebesar 512
byte.
3. ADC internal dengan fasilitas 10 bit sebanyak 8 chanel.
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2.5
Mbps.
5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

2.2.1 Konfigurasi Pin ATMega 8535
Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.4 di bawah ini.

Gambar 2.4 Konfigurasi Pin ATMega 8535
Dari gambar 2.4 tersebut dapat dijelaskan secara fungsional konfigurasi pin pada
ATMega 8535 sebagai berikut :
1. VCC merupakan pin yang berfungsi sebagai pin masukan satu daya.
2. GND merupakn pin ground.

14

3. Port A (PA0...PA7) merupakan pin I/O dua arah dan pin masukan
ADC.
4. Port B (PA0...PB7) merupakan pin I/O dua arah dan pin fungsi khusus
yaitu Timer/Counter, Komperator analog dan SPI.
5. Port C (PC0...PC7) merupakan pin I/O dua arah dan pin khusus yaitu
TWI, Komperator Analog dan Timer Oscillator.
6. Port D (PD0...PD7) merupakan pin I/O dua arah dan pin fungsi khusus
yaitu komperator analog, interupsi eksternal dan komunikasi serial.
7. RESET

merupakan

pin

yang

digunakan

untuk

mereset

mikrokontroller.
8. XTL1 dan XTAL2 merupakan pin masukan clock eksternal.
9. AVCC merupakan masukan untuk tegangan ADC.
10. AREF merupakan pin masukan tegangan refrensi ADC.
Berikut adalah penjelasan fungsi tiap kaki.
1. PORT A
Merupakan

8-bit

directional

port

I/O.

Setiap

pinnya

dapat

menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer port A dapat memberi arus 20 mA dan dapat mengendalikan
display LED secara langsung. Data Direction Register Port A (DDRA)
harus disetting terlebih dahulu sebelum port A digunakan. Bit-bit
DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang
bersesuaian sebagai input atau diisi 1 jika sebagai output. Selain itu
kedelapan pin port A juga digunakan untuk memasukan sinyal analog
bagi A/D coverter.

15

2. PORT B
Merupakan 8 bit directional port I/O. Setiap pinnya dapat menyediakan
internal pull-up resistor (dapat diatur per bit). Output buffer port B
dapat memberi arus 20 mA dan dapat mengendalikan display LED
secara langsung. Data Direction Register Port B (DDRB) diisi 0 jika
ingin memfungsikan pin-pin port B yang bersesuaian sebagai input,
atau diisi 1 jika sebagai output. Port B juga memiliki untuk fungsi
alternatif seperti yang terlihat pada tabel 2.1 berikut :
Tabel 2.1 Fungsi Alternatif Port B
Port Pin

Fungsi Khusus

PB0

T0 = timer/counter 0 external counter input

PB1
PB2
PB3

T1 = timer/counter 0 external counter input
AIN0 = analog comparator positive input
AIN1 = analog comparator negative input

PB4
PB5

SS = SPI slave select input
MOSI = SPI bus master output/slave input

PB6
PB7

MISO = SPI bus master input/slave output
SCK = SPI bus serial clock

3. PORT C
Merupakan

8-bit

directional

port

I/O.

Setiap

pinnya

dapat

menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer port C dapat memberi arus sebesar 20 mA dan dapat
mengendalikan display LED secara langsung. Daya Direction Register
Port C (DDRC) harus disetting terlebih dahulu sebelum port C
digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port
C yang sesuai sebagai input atau diisi 1 jika sebagai output. Selain itu

16

dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai
oscilator untuk timer/counter 2.
4. PORT D
Merupakan

8-bit

directional

port

I/O.

Setiap

pinnya

dapat

menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer port D dapat diberi arus sebesar 20 mA dan dapat
mengendalikan display LED secara langsung. Data Direction Register
port D (DDRD) harus disetting terlebih dahulu sebelum port D
digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port
D yang bersesuaian sebagai input atau diisi 1 jika sebagai output.
Selain itu pin-pin port D juga memiliki fungsi untuk alternatif khusus
seperti yang dapat dilihat dalam tabel 2.2 berikut :
Tabel 2.2 Fungsi Alternatif Port D
Port Pin

Fungsi Khusus

PD0
PD1
PD2
PD3
PD4
PD5
PD6
PD7

RDX ( UART input line )
TDX ( UART output line )
INT0 ( external interrupt 0 input )
INT1 ( external interrupt 1 input )
OC1B ( timer/counter 1 output compare B match
OC1A ( timer/counter 1 output compare A match
ICP ( timer/counter 1 input capture pin )
OC2 (timer/counter 2 output compare match output

5. RESET
RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi
masukan low selama minimal 2 mechine cycle maka sistem akan direset. Dan akan kembali pada posisi awal.

17

6. XTAL1
XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke
internal clock operating circuit.
7. XTAL2
XTAL2 adalah output dari inverting oscilator amplifier.
8. Avcc
Avcc adalah kaki masukan tegangan bagi A/D converter. Kaki ini
harus secara eksternal terhubung ke Vcc melalui lowpass filter.
9. AREF
AREF adalah kaki masukan referensi bagi A/D Converter. Untuk
operasional ADC, suatu level tegangan antara AGND dan Avcc harus
diberikan kaki ini.
10. AGND
AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND,
kecuali jika board memiliki analog ground yang terpisah.

2.2.2 Peta Memori Mikrokontroler ATMega 8535
AVR ATMega 8535 memiliki ruang pengalamatan memori data dan
memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu 32
buah register umum, 64 buah register I/O dan 512 byte SRAM internal.
Register keperluan umum menempati space data pada alamat terbawah
yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan
control terhadap mikrokontroler menempati 64 alamat berikutnya yaitu mulai dari
$20 hingga $5F. Register tersebut merupakan register yang khusus digunakan

18

mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti contoh
register, timer/counter, fungsi-fungsi I/O dan sebagainya.
Alamat memori berikutnya digunakan untuk SRAM 512 byte yaitu pada
lokasi $60 sampai $25F. Konfigurasi memori data pada ATMega 8535 di
tunjukkan pada gambar 2.5.

Gambar 2.5 Peta Memori Mikrokontroler ATMega 8535
Memori program yang terletak dalam flash Perom tersusun dalam word
atau

2 byte karena setiap interuksi memiliki lebar 16-bit atau 32-bit, AVR

ATMega 8535 memiliki Kbyte 12-bit program counter (PC) sehingga mampu
mengalamati isi flash. Selain itu AVR ATMega 8535 juga memiliki memori data
berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai $000
sampai $1FF. Di bawah ini adalah memori program AVR ATMega 8535.
Sumber : http://npx21.blog.uns.ac.id/2010/07/17/atmega8535/

19

2.3

Sistem Minimum ( Minimum System)
Sistem minimum (sismin) mikrokontroller adalah rangkaian elektronika

minimum yang diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini
kemudian bisa dihubungkan dengan rangkaian lain untuk menjalanankan fungsi
tertentu. Di keluarga mikrokontroller AVR seri 8535 adalah salah satu seri yang
banyak digunakan.
Untuk membuat rangkaian sismin ATMega 8535 diperlukan beberapa
komponen antara lain :
1. IC mikrokontroler ATMega 8535.
2. 1 XTAL 4 Mhz atau 8 Mhz (XTAL1).
3. 3 kapasitor kertas yaitu dua 22 pF (C2 dan C3) serta 100 nF (C4).
4. 1 kapasitor elektrolit 4,7 uF (C12) 2 resistor yaitu 100 Ω
KΩ

(R1) dan 10

(R3).

5. 1 tombol reset push button (PB1).
Selain itu tentunya diperlukan sumber tegangan yang bisa memberikan
tegangan 5V DC. Rangkaian sistem minimum ini sudah siap untuk menerima
sinyal analog (fasilitas ADC) di port A. Di bawah ini adalah sistem minimum
ATMega 8535.

Gambar 2.6 Minimum System ATMega 8535

20

Dari gambar 2.6 dapat dilihat bahwa suatu system minimum memiliki 4 port 8 pin
yang masing-masing portnya memiliki fungsi khusus dimana pembagiannya.

2.4

CMU Camera Sebagai Sensor
CMUCam terdiri dari SX52 mikrokontroler dengan antarmuka OV6620

atau OV7620 Omnivision CMOS camera dalam sebuah Chip. Modul komunikasi
menggunakan RS-232 atau TTL serial port. Pergerakan dengan gambar yang
berbeda 26 gambar per detik. Jenis kamera ini yang sering dijumpai pada
robotika. Memiliki resolusi samapai dengan 160 x 255. Dapat mengontrol servo
sebanyak 5 buah. Analog Video Output (Dapat di tampilkan ke dalam televisi).
Supports Multiple Baudrates 115200, 57600, 38400, 19200, 9600, 4800, 2400,
1200.
Fitur dari CMUCam :
- Ukuran array : 664x492 pixels.
- Ukuran pixel : 7.6 x 7.6 µm.
- Scanning : Progressive / Interlace.
- Area gambar yang aktif : 4.86 x 3.64 mm.
- Electronic Exposure : 500:1.
- Gamma correction : 128 curve settings.
- S/N ratio : >48 dB.
- Min Illumination : 2.5 flux @ F1.4.
- Operating voltage : 5 Volt DC.
- Operation current : 120 mW Active, 10 µW standby.
- Lensa : f6mm, F1.6.

21

Fungsi dari CMUCam :
-

Melacak bercak warna yang di tentukan pada kecepatan 17 frame per
detik.

-

Mengatur parameter kamera.

-

Menangkap gambar.

-

Resolusi 160 x 255 pixels
Konfigurasi yang paling umum pada kamera CMUCam di hubungkan

melalui prosesor lain melalui komunikasi serial RS232. Prosesor ini bisa berupa
computer atau mikrokontroler. CMUCam menggunakan daya kecil sehingga bisa
digunakan untuk menambah system visual. ( ke sistem kecil yang tidak
mempunyai daya

besar

).

Protocol komunikasinya

di rancang

untuk

mengakomodasi prosesor yang lambat. Bila device tidak mempunyai komunikasi
serial RS232 bisa juga di lakukan dengan komunikasi serial pada level TTL.
Berikut adalah gambar fisik dari kamera CMUCam :

Gambar 2.7 CMUCam

22

Dari gambar 2.7 dapat di tuliskan cara kerja proses CMUCam tersebut adalah
sebagai berikut :

Gambar 2.8 Blok Diagram CMUCam
Kamera CMUCam bisa berkomunikasi melalui port serial dengan level
tegangan TTL ataupun RS232 untuk mengirimkan perintah dan mengambil data
dari CMUCam.

2.5

Motor DC Sebagai Aktuator Roda
Struktur robot sebagian besar dibangun berdasarkan konstruksi mekanik.

Sebagian besar kontruksinya memiliki aktuator yang bermacam-macam. Salah
satu aktuator yang sering digunakan ialah motor DC magnet permanen.
Motor DC ialah salah satu peralatan elektronika dasar yang berfungsi
untuk mengubah tenaga listrik menjadi tenaga mekanik. Motor DC magnet
permanen merupakan motor DC yang dirancang agar bekerja dalam tegangan
sumber DC. Umumnya motor DC bekerja antara 6-12 Volt. Diluar itu motor DC
bekerja antara 24 Volt hingga lebih.
Motor DC menggunakan prinsip magnetic untuk dapat berputar. Motor
DC pada umumnya memiliki 2 buah magnet yang mengelilingi kawat
kumparanya. Bila ada suatu arus mengalir melalui kawat kumparan, maka arus

23

tersebut akan menciptakan medan magnet yang arahnya berlawanan di sekitar
magnet. Jadi motor dapat berputar.
Ketika kumparan diberi tegangan, medan magnet akan timbul di sekeliling
armature. Sisi kiri armature akan terdorong dari magnet sebelah kiri menuju ke
sebelah kanan sehingga tercipta putaran. Ketika armature menjadi sejajar dengan
magnet, commutator akan mengembalikan arah arus di dalam kumparan, sehingga
membalikkan medan magnet. Hal tersebut akan membuat armature kembali
berputar dari sebelah kiri ke sebelah kanan magnet. Di bawah ini gambar dari
motor DC yang digunakan sebagai aktuator. Motor DC yang digunakan pada
robot lengan ada 3 buah yaitu 2 buah motor DC dengan gearbox dan sebuah
motor wiper.

2.6

Motor Servo Standart Sebagai Pengendali CMUCam
Penggunaan motor servo standart difungsikan untuk pengaturan arah

kamera, sehingga saat terdapat bola di sekitarnya robot dapat menangkapnya.
Motor servo adalah sebuah motor dengan sistem umpan balik tertutup di mana
posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di
dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear,
potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan
batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur
berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor.
Karena motor DC servo merupakan alat untuk mengubah energi listrik
menjadi energy mekanik, maka magnit permanent motor DC servolah yang
mengubah energi listrik ke dalam energi mekanik melalui interaksi dari dua

24

medan magnit. Salah satu medan dihasilkan oleh magnit permanent dan yang
satunya dihasilkan oleh arus yang mengalir dalam kumparan motor. Resultan dari
dua medan magnit tersebut menghasilkan torsi yang membangkitkan putaran
motor tersebut. Saat motor berputar, arus pada kumparan motor menghasilkan
torsi yang nilainya konstan.
Secara umum terdapat 2 jenis motor servo. Yaitu motor servo standard dan
motor servo Continous. Servo motor tipe standar hanya mampu berputar 180
derajat. Motor servo standard sering dipakai pada sistim robotika misalnya untuk
membuat “ Robot Arm” ( Robot Lengan ). sedangkan Servo motor continuous
dapat berputar sebesar 360 derajat. motor servo Continous sering dipakai untuk
Mobile Robot. Pada badan servo tertulis tipe servo yang bersangkutan.
Motor servo merupakan sebuah motor dc kecil yang diberi sistim gear dan
potensiometer sehingga dia dapat menempatkan “horn” servo pada posisi yang
dikehendaki. Karena motor ini menggunakan sistim close loop sehingga posisi
“horn” yang dikehendaki bisa dipertahanakan. “Horn” pada servo ada dua jenis.
Yaitu Horn “ X” dan Horn berbentuk bulat.

Gambar 2.9 Servo Dengan Horn Bulat

Gambar 2.10 Servo Dengan Horn X

Pengendali gerakan batang motor servo dapat dilakukan dengan
menggunakan metode PWM. (Pulse Width Modulation). Teknik ini menggunakan

25

system lebar pulsa untuk mengemudikan putaran motor. Sudut dari sumbu motor
servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel
motor. Tampak pada gambar dengan pulsa 1.5 mS pada periode selebar 2 mS
maka sudut dari sumbu motor akan berada pada posisi tengah. Semakin lebar
pulsa OFF maka akan semakin besar gerakan sumbu ke arah jarum jam dan
semakin kecil pulsa OFF maka akan semakin besar gerakan sumbu ke arah yang
berlawanan dengan jarum jam.

Gambar 2.11 Cara Kerja Servo
Untuk menggerakkan motor servo ke kanan atau ke kiri, tergantung dari
nilai delay yang kita berikan. Untuk membuat servo pada posisi center, berikan
pulsa 1.5ms. Untuk memutar servo ke kanan, berikan pulsa = 1.7ms untuk berputar ke kiri dengan delay 20ms.
Sumber : http://akbarulhuda.wordpress.com/2010/04/01/mengenal-motor-servo/

2.7

Roda Gigi ( Gear )
Hal mendasar yang perlu diperhatikan dalam desain mekanik robot ialah

perhitungan kebutuhhan torsi untuk menggerakkan sendi atau roda motor, sebagai
penggerak utama (prime-mover) yang paling sering dipakai umumnya akan
bekerja optimal (torsi dan kecepatan putaran yang ideal) pada putaran yang

26

relative tinggi yang hal ini tidak sesuai bila porosnya dihubungkan langsung ke
sendi gerak atau roda. Sebab kebanyakan gerakan yang diperlukan pada sisi
anggota badan robot adalah relative pelan namun bertenaga. Untuk mencapa hal
itu maka sangat diperlukan sistem roda gigi (gear) yang sesuai, dan pada tugas
akhir ini menggunakan posisi gear medium.

2.8

Pemr ograman Bahasa C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin

Richard pada tahun 1967. Bahasa ini memberkan ide kepada ken thompson yang
kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970.
Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie
sekitar tahun 1970-an di Bell Telephone Laboratories Inc. ( sekarang adalah
AT&T Bell Laboratories).
Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat
untuk komputer mikro. Untuk membuat versi-versi tersebut standar, ANSI
(American National Standards Institute) kemudian menetapkan standar ANSI
untuk bahasa C. Standar ANSI ini didasarkan dari standar UNIX yang diperluas.
Standar ANSI menetapkan sebanyak 32 buah kata-kata kunci (keyword) standar.
Ke 32 kata kunci ini adalah :
Table 2.3 Kata Kunci (Keyword) Pada bahasa C
auto
double
int
struct

break
else
long
switch

case
enum
register
typedef

char
extern
return
union

const
float
short
unsigned

continue
for
signed
void

default
goto
sizeof
volatile

do
if
static
while

27

2.8.1 Alasan Menggunakan Bahasa C
Beberapa alasan dapat dicatat mengapa bahasa C banyak digunakan,
diantaranya adalah sebagai berikut :
1. Bahasa C tersedia hampir disemua jenis computer.
2. Kode bahasa C sifatnya adalah portable. Aplikasi yang ditulis dengan
bahasa C untuk suatu computer tertentu dapat digunakan di computer
lain hanya dengan sedikit modifikasi.
3. Bahasa C hanya menyediakan sedikit kata-kata kunci.
4. Proses executable program bahasa C lebih cepat.
5. Dukungan pustaka yang banyak, kehandalan bahasa C dicapai dengan
adanya fungsi-fungsi pustaka.
6. C adalah bahasa terstruktur.
7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat
menengah.
8. Bahasa C adalah compiler, karena C sifatnya adalah compiler, maka
akan menghasilkan executable program yang banyak dibutuhkan oleh
program-program komersial.

2.8.2 Struktur Penulisan Bahasa C
Untuk dapat memahami bagaimana suatu program ditulis, maka struktur
dari program harus dimengerti terlebih dahulu, atau sebagai pedoman penulis
program.
Struktur dari program C dapat diihat sebagai kumpulan dari sebuah atau
lebih fungsi-fungsi. Fungsi pertama yang harus ada di di program C yang sudah

28

ditentukan namanya, yaitu fungsi main(). Artinya program C minimal memiliki
satu fungsi (fungsi main()). Berikut ini adalah struktur dari program C.
main()
{
statemen_1;
statemen_2;

Fungsi Utama

……..
statemen_n;
}
fungsi_lain()
{

Fungsi-fungsi lain

statemen_statemen;

yang ditulis oleh pemrogram komputer

}

Gambar 2.12 Struktur Penulisan Bahasa C
Pada gambar 2.12 merupakan struktur penulisan bahasa C dengan keterangan
sebagai berikut :
1. Dimulai dari tanda { hingga tanda } disebut tubuh fungsi/blok.
2. Tanda () digunakan untuk menggapit argument fungsi, yaitu nilai yang
dilewatkan ke fungsi. Pada fungsi main() tidak ada argument yang
diberikan, maka tidak ada entri di dalam ().
3. Kata void menyatakan bahwa fungsi ini tidak memiliki nilai balik.
4. Tanda { menyatakan awal eksekusi program dan tanda } menyatakan
akhir eksekusi program.
5. Di dalam tanda { } bisa tergantung sejumlah

unit yang disebut

pernyataan (statment). Umumnya pernyataan berupa instruksi untuk :


Memerintah computer melakukan proses menampilkan string
ke layar.



Menghitung operasi matematik.

BAB III
ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini dibahas mengenai beberapa hal dasar tentang bagaimana
penganalisaan sebuah system perangkat keras maupun perangkat lunak, cara
perancangan robot, serta komponen-komponen apa saja yang dibutuhkan dalam
perancangan robot. Di bawah ini adalah gambar flowchart 3.1 yang akan di
rancang pada robaot becak yang dibuat :
St art

Perakitan Hardw are
kerangka Becak

Perancangan soft w are
at au source code

M emasukkan softw are at au
source code ke dalam
microkont roler ATM ega
8535
F

T
Pengujian Robot
Becak

Robot Berjalan

T

End

Gambar 3.1 Flowchart Perakitan Robot Becak

29

30

Pada bagian perakitan Hardware sebuah robot tersebut membutuhkan
beberapa komponen seperti :
1. Sebuah miniature becak dengan 2 roda di belakang dan satu roda ada di
depan.
2. Satu buah PCB, yang berisi :
a. Microkontroler ATMega 8535.
b. Regulator.
c. Terminal.
d. Lampu LED Start.
e. Lampu LED Downloader.
f. Tombol Reset.
3. Kamera CMUCam versi 1.
4. Mickro servo SG 90.
Setelah di lakukan sebuah perakitan pada robot becak tersebut maka akan
di lakukan perakitan software atau perancangan source code. Dimana pada bagian
ini membutuhkan sebuah software Code Vision AVR 4.
Semua perakitan Hardware dan pembuatan Software atau source code
adalah tahapan memasukkan source code tersebut pada microkontroler ATMega
8535.
Tahapan selanjutnya akan berlanjut pada pengujian robot tersebut, apabila
ketika pengujian pada tahap ini terjadi kesalahan, mungkin ada sebuah source
code yang belum lengkap pada tahapan pengujian software. Ketika pengujian ini
sudah berjalan sesuai keinginan maka tahapan ini sudah selesai.

31

Gambar 3.2 Blok Diagram Sistem
Dari blok diagram pada gambar 3.2 dapat dikatakan bahwa sebuah robot
terdiri dari gabungan beberapa perangkat dan mekanik, yang saling terhubung
antara perangkat yang satu dengan perangkat yang lainya. Sebuah perangkat keras
juga tidak berarti bila tidak terdapat system yang memerintahkannya untuk
melakukan suatu aktifitas. Sehingga dibutuhkan sebuah mikrokontroller yang
dapat memberi intruksi ke seluruh perangkat I/O.
Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang
dibutuhkan, yaitu :
a. Robot ini dirancang dengan menggunakan sensor CMUCam sebagai
pendeteksi adanya benda berwarna di depan robot tersebut.
b. Robot ini dirancang dengan menggunakan Mikrokontroller ATMega8535
sebagai otak atau pengendali utama pada robot.
c. Robot ini menggunakan Bahasa C sebagai Bahasa pemrogramannya.
d. Robot ini dirancang untuk dapat berjalan secara otomatis dengan
kemampuan program yang telah di inputkan di dalam robot tersebut.
e. Robot ini bergerak dalam sebuah bidang yang datar dan rata.

32

f. Robot ini menggunakan sebuah motor DC sebagai penggerak roda
belakang dan tower pro mikro servo SG90 standart sebagai penggerak
kemudi.
Untuk lebih memperjelas paparan diatas, maka akan di bahas pada sub bab berikut
ini.

3.1

Sistem Perangkat Keras
Pada sub bab ini akan dijelaskan bagaimana sebuah perangkat keras robot

dibuat. Serta membuat sistem perangkat lunaknya. Sehingga dapat berjalan sesuai
aturan yang dibuat.

3.1.1 Analisa Per angkat Keras
Pada sub-bab ini akan dijelaskan tentang pembangunan suatu robot becak
yang dirancang memiliki dua roda belakang dengan menggunakan motor dan satu
roda depan menggunakan servo sebagai penggerak robot dan memiliki sensor
kamera jenis CMUCam sebagai pendeteksi adanya benda berwarna yang ada di