• Tidak ada hasil yang ditemukan

ROBOT BECAK BERBASIS MIKROKONTROLER ATMEGA 8535 DENGAN LOGIKA FUZZY.

N/A
N/A
Protected

Academic year: 2017

Membagikan "ROBOT BECAK BERBASIS MIKROKONTROLER ATMEGA 8535 DENGAN LOGIKA FUZZY."

Copied!
95
0
0

Teks penuh

(1)

Dosen Pembimbing II : Fetty Tr i Anggr aeny, S.Kom

Abstraksi

Robot becak beberbasis mikrokontroler ATMega8535 dengan logika fuzzy merupakan suatu gabungan dari hasil karya seni dengan teknologi modern, sehingga terbentuk robot bergerak yang sudah terprogram dan dapat bergerak secara otomatis. Robot becak ini selain bergerak otomatis. Juga memiliki kelebihan untuk menentukan jarak aman terhadap obstacle, sehingga robot tetap berada di tengah-tengah jalur.

Robot becak ini menggunakan logika fuzzy sebagai program pengendalinya dan tiga sensor ultrasonic RRF 04 yang berfungsi sebagai pendeteksi rintangan yang ada pada koordinat y positif dengan cara memancarkan gelombang ultrasonic dari rangakaian transmiter-nya dan menangkapnya dengan menggunakan rangkaian receiver-nya. Gelombang pantul yang diterima akan diolah oleh bagian control circuit kemudian dikirim ke mikrokontroler untuk diubah dari tegangan analog menjadi tegangan digital melalui port ADC. Hasil konversi akan dikirm ke blok fuzzifikasi untuk menentukan derajat keanggotaan, hasil dari proses fuzzifikasi akan diolah pada blok inferen untuk mengevaluasi rule yang sesuai. Hasil inferen akan di teruskan ke blok defuzzifikasi untuk menghasilkan nilai crisp. Dimana nilai tersebut akan menentukan arah kemudi becak dan kecepatan putaran motor. Sehingga robot becak dapat melakukan tracking dengan aman tanpa harus menyentuh rintangan disekitarnya.

Hasil dari percobaan yang dilakukan, robot becak dapat berjalan sesuai dengan rancangan sistem yang telah dibuat. Antar lain robot dapat mendeteksi bermacam-macam jenis halangan dan dapat menghindari halangan secara baik.

(2)

ii

hidayahnya yang diberikan sehingga dapat menyelesaikan Tugas Akhir ini dengan baik dan tepat waktu dimana hasilnya disusun dengan bentuk laporan yang berjudul Robot Becak Berbasis Mokrokontroler ATmega 8535 Dengan Logika

Fuzzy.

Adapun laporan ini disusun yaitu untuk memenuhi syarat mengikuti seminar TA serta untuk memenuhi syarat kelulusan salah satu mata kuliah “Tugas Akhir” di Universitas Pembangunan Nasioanal “Veteran” Jawa Timur.

Penulis menyadari bahwa manusia yang serba kurang sempurna, maka di dalam upaya menyusun Tugas Akhir ini penulis telah banyak memperoleh bantuan dan bimbingan dari berbagai pihak, mengingat keterbatasan pengalaman yang dimiliki oleh penulis, sehingga penulis sangat mengharapkan segala kritik dan saran yang konstruktif dan membangun demi kebaikan maupun sistematika penulisan akan selalu penulis terima dengan senang hati guna kesempurnaan Tugas Akhir ini. Harapan penulis mudah – mudahan apa yang penulis lakukan ini dapat menjadi sumbangan pemikiran dan berguna bagi semuanya, terutama Universitas Pembangunan Nasional “Veteran” Jawa Timur.

Surabaya, 15 November 2011

(3)

oleh karena itu pada kesempatan kali ini penulis ingin menyampaikan ucapan terima kasih 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. 3. Ibu Dr. Ir. Ni Ketut Sari, MT, selaku Kepala Jurusan Teknik

Informatika Universitas Pembangunan Nasional ”Veteran” Jawa Timur.

4. Bapak Basuki Rahmat, Ssi, MT dan Ibu Fetty Tri Anggraeny, S.Kom, sebagai Dosen Pembimbing yang telah meluangkan waktu dan memberikan bimbingan serta petunjuk selama menyusun Tugas Akhir ini.

5. Para Dosen Penguji Seminar : Dr. Ir. Ni Ketut Sari, MT, Basuki Rahmat, S.Si, MT yang telah membuka wawasan baru bagi penulis. 6. Para Dosen Penguji Lisan : Basuki Rahmat, S.Si, MT, Waldy

Permana Agastya, S.Kom, MM, Fetty Tri Anggareny, S.Kom yang telah memberikan masukan positif kepada penulis.

(4)

iv

9. My special girl thank’s a lot for your love and support. I love you till here after.

10. Untuk Bang Hisyam terima kasih masukan dan sumbangsih pemikirannya dalam merakit robot becak.

(5)

Abstraksi ……… i

Kata Pengantar ……… ii

Ucapan Terima Kasih ………... iii

Daftar Isi ……… Daftar Gambar ……… Daftar Tabel ……… v viii x 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 ……… 1.6 Metodologi Penelitian ……… 4 4 1.7 Sistematika Penulisan ……… 5

BAB II TINJ AUAN PUSTAKA ……… 7

2.1 Sejarah dan Perkembangan Robot ……… 7

2.2 Mikrokontroler ATMega 8535 ……… 9

2.2.1 Konfigurasi Pin ATMega 8535 ……… 12

2.2.2 Peta Memori Mikrokontroler ATMega 8535 ……… 16

2.3 Sistem Minimum (Minimum System) ……… 18

2.4 Ultrasonik Sebagai Sensor Halangan ……… 20

2.5 Motor DC Sebagai Aktuator Roda ……… 21

2.6 Motor Servo Standart Sebagai Aktuator Kemudi ……… 23

2.7 Roda Gigi (Gear) ………

2.8 Logika Fuzzy (Fuzzy Logic) ………

2.8.1 Pendahuluan Fuzzy ………

2.8.2 Metode Sugeno ………

2.8.3 Komponen Dasar Fuzzy ……… 2.8.4 Fungsi Keanggotaan ………

2.9 Pemrograman Bahasa C ………

2.9.1 Alasan Menggunakan Bahasa C ………

(6)

3.2 Perancangan Perangkat Keras ………

3.2.1 Desain Mekanik ………

3.3 Perancangan Perangkat Lunak ………

3.3.1 Blok Diagram Fuzzy ……… 3.3.2 Fungsi Keanggotaan ………

3.3.3 Fuzzifikasi ………

3.3.4 Inferen Engine ……… 43 44 48 49 50 54 55

3.3.5 Defuzzifikasi ……… 56

BAB VI IMPLEMENTASI SISTEM ……… 58

4.1 Perakitan Robot Becak ……… 58

4.1.1 Perakitan Minim Sistem ……… 58

4.2 Implementasi Logika Fuzzy ……… 62

4.2.1 Proses Fuzzifikasi ……… 62

4.2.2 Proses Inferen Rule Base ………. 4.2.1 Proses Defuzzifikasi ……… 4.3 Pemrograman C dengan Code Vision AVR ………… 4.4 Implementasi Hardware ……… 63 64 66 69 BAB V UJ I COBA DAN EVALUASI ……… 72

5.1 Respon Sensor Ultrasonik Terhadap Jenis Halangan …… 72

5.1.1 Peralatan ………... 72

5.1.2 Parameter ………... 73

5.1.3 Prosedur ………... 73

5.1.4 Hasil Dan Evaluasi ………... 74

5.1.4.1 Pengujian Pada Halangan Styrofoam ……. 74

5.1.4.2 Pengujian Pada Halangan Balok Kardus ….. 74

5.1.4.3 Pengujian Pada Halangan Botol Air Mineral 75 5.1.4.4 Evaluasi Percobaan ……….. 76

5.2 Respon Robot Terhadap Kondisi Jalur ……… 77

5.2.1 Peralatan ………... 77

5.2.2 Parameter ………... 78

5.2.3 Prosedur ………... 78

5.2.4 Hasil Dan Evaluasi ………... 78

5.2.4.1 Pengujian Pada Lebar Jalur Lebih Dari 40 cm . 79 5.2.4.2 Pengujian Pada Lebar Jalur Kurang Dari 40 cm 80 5.2.4.3 Evaluasi Percobaan ……… 82

5.3 Respon Robot Terhadap Halangan Secara Acak …….... 82

(7)

5.3.4.2 Evaluasi Percobaan ... 84

BAB VI PENUTUP ……… 86

6.1 Kesimpulan ……… 86

6.2 Saran ………

DAFTAR PUSTAKA ………

87

(8)

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. Kerena 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

bertambahnya pengguna dalam setiap tahunnya. Sehingga memerlukan terobosan

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 [7].

Oleh sebab itu pada tugas akhir kali ini, membahas tentang pengembangan

robot becak berbasis mikrokontroller dengan logika fuzzy sebagai pengendalinya,

(9)

dengan konsep kebenaran sebagian, dimana logika klasik menyatakan bahwa segala

hal dapat di eksperimenkan dalam binary 0 atau 1. Logika fuzzy memungkinkan nilai

keanggotaan atara 0 dan 1. Dengan logika fuzzy kita dapat menentukan rule-rule

sebagai acuan langkah robot yang akan dibuat. Keuntungan dari logika fuzzy antara

lain mudah dimengerti, pemodelan matematik sederhana, toleransi data-data yang

tidak tepat, dapat memodelkan fungsi-fungsi non liner yang kompleks,

mengaplikasikan pengalaman tanpa proses pelatihan dan didasarkan pada bahasa

alami. Dengan memanfaatkan logika ini maka robot tidak harus berbelok 90° ke

kanan atau ke kiri. Sehingga setiap perubahan gerakan dari robot dapat terlihat lebih

halus dan dinamis.

1.2 Rumusan Masalah

Adapun permasalahan yang akan dibahas adalah sebagai berikut :

1. Bagaimana membuat rangkaian minimal sistem yang setabil dengan

memanfaatkan mikrokontroler ATMega 8535.

2. Bagaimana mengimplementasikan logika fuzzy pada pemrograman

mikrokontroller.

3. Bagaimana menjadikan hasil karya seni menjadi lebih memiliki

(10)

1.3 Batasan Masalah

Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugus

akhir ini dapat berjalan degan baik adalah sebagai berikut :

1. Pengujian robot ini pada sebuah bidang datar.

2. Sensor hanya mampu mendeteksi halangan di depan dengan sudut

jangkauan 180° dan mempunyai tinggi tidak kurang dari tinggi sensor

terhadap lapangan.

3. Halangan bersifat rigid dan tidak memancarkan gelombang ultrasonic.

4. Halangan tidak bergerak (diam) dan berada di depan robot (halangan

berada pada range koordinat y positif) .

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 menghindari halangan baik

berupa obstacle maupun robot lain dengan tetap mencapai target diam. Mengacu pada

tujuan utama pada tugas akhir ini maka terdapat beberapa tujuan khusus antara lain :

1. Membuat rangkaian minimal sistem yang setabil dengan

memanfaatkan mikrokontroler ATMega 8535.

2. Mengimplementasikan logika fuzzy pada pemrograman

(11)

3. Bagaimana menjadikan hasil karya seni menjadi lebih memiliki

sentuhan teknologi.

1.5 Manfaat

Adapun manfaat yang dapat diambil dari pembuatan Robot Becak dengan

menggunakan ATmega 8535 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 Metodologi Penelitian

Metodologi yang digunakan pada penelitian ini adalah sebagai berikut :

1. Studi literature mengenai pengendalian motor DC menggunakan

ATmega 8535 serta pendalaman tentang logika fuzzy

2. Merancang serta menguji rangkaian penggerak motor DC yang

merupakan aktuator robot.

3. Merancang serta menguji sistem minimal Mikrokontroler ATMega

(12)

4. Merancang perangkat lunak yang berfungsi untuk membangkitkan dan

mengendalikan gerakan robot secara keseluruhan.

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

dengan menggunakan Atmega 8535.

BAB III : ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis dan perancangan sistem

dalam pembuatan Tugas Akhir robot becak dengan

(13)

BAB IV : IMPLEMENTASI SISTEM

Bab ini berisi penjelasan hasil Tugas Akhir serta

pembahasannya tentang robot becak dengan menggunakan

ATmega 8535.

BAB V : UJ I COBA DAN EVALUASI

Bab ini berisi pengujian program Tugas Akhir.

BAB VI : PENUTUP

Bab ini berisi kesimpulan dan saran-saran penulis.

DAFTAR PUSTAKA

(14)

7

2.1 Sejar ah dan Per kembangan Robot

Istilah ’Robot’ dan ’Robotics’ adalah istilah yang baru pada abad ke-20, tetapi

idenya didasarkan pada sejarah yang sama. Kata robot pertama kali digunakan oleh

suatu grup drama ’Czechoslovakia Dramatist, Karel Capek pada tahun 1921 sewaktu

bermain Rossum’s Universal Robots’. Rancangan robot ini sepenuhnya digerakkan

secara manual. Istilah robotics oleh Isaac Asimov diartikan sebagai ilmu pengetahuan

tentang robot, mulai dari desainnya, manufaktur hingga penggunaannya [1].

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 input dan

(15)

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 Blok Diagram Robot secara umum yang menggambarkan deskripsi di

atas :

(16)

Dari gambar 2.1 dapat terlihat bahwa sebuah robot sebagian besar terdiri dari

rangkaian mekanik yang saling terintegrasi satu dengan yang lainya.

2.2 Mikrokontroler ATMega 8535

Mikrokontroller adalah suatu keping IC dimana terdapat mikroprosesor dan

memori program ROM (Read Only Memory) serta memori serbaguna RAM (Random

Access Memory), bahkan ada beberapa jenis mikrokontroller yang memiliki fasilitas

ADC, PLL, EEPROM dalam satu kemasan. Penggunaan mikrokontroller dalam

bidang kontrol sangat luas dan populer.

Ada beberapa vendor yang membuat mikrokontroller diantaranya Intel,

Microchip, Winbond, Atmel, Philips, Xemics dan lain-lain. Dari beberapa vendor

tersebut, yang paling populer digunakan adalah mikrokontroller buatan Atmel.

Mikrokontroller AVR (Alf and Vegard’s Risc Prosesor) memiliki arsitektur RISC 8

bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian

besar intruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MSC

51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis

mikrokontroller tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC

(Reduced Instruction Set Computing), sedangkan seri MCS 51 berteknologi CISC

(Complex Instruction Set Computing). Secara umum AVR dapat dikelompokkan

menjadi 4 kelas, yaitu keluarga AtTiny, keluarga AT90Sxx, keluarga ATMega dan

(17)

peripheral dan fungsinya. Dari segi arsitektur dan instruksi yanng digunakan, mereka

bisa dikatakan hampir sama. Oleh karena itu dipergunakan salah satu AVR produk

Atmel yaitu ATMega 8535. Selain mudah didapatkan dan lebih murah ATMega 8535

juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3 jenis yaitu AT Tiny,

AVR klasik dan AT Mega. Perbedaanya haya pada fasilitas dan I/O yang tersedia

serta fasilitas lain seperti ADC, EEPROM dan lain sebagainya. Salah satu contohnya

adalah ATMega 8535. Memiliki teknologi RISC dengan kecepatan maksimal 16

Mhz membuat ATMega 8535 lebih cepat bila dibandingkan dengan ukuran MCS 51.

Dengan fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai

mikrokontroler yang handal [4]. Adapun blok diagramnya adalah sebagai berikut.

(18)

Dari gambar 2.2 dapat dilihat bahwa ATMega 8535 memiliki kontruksi bagian

sebagai berikut :

1. ADC 10 bit sebanyak 8 saluran.

2. Tiga buah timer/counter dengan kemampuan pembandingan

3. CPU yang terdiri atas 32 buah register.

4. Watchdog timer dengan osilator internal.

5. SRAM saluran I/O sebanyak 32 buah yaitu Port A, Port B, Port C dan Port

D sebesar 512 byte.

6. Memory flash sebesar 8 KB dengan kemampuan Read While Write.

7. Unit interupsi internal dan eksternal.

8. Port antar muka SPI.

9. EEPROM sebesar 512 byte yang dapat di program saat operasi

10.Antarmuka komparator analog.

11.Port USART untuk komunikasi serial fitur ATMega 8535.

Kapabilitas detail dari ATMega 8535 adalah sebagai berikut :

1. Sistem mikroprosesor 8 bit berbasis RISC dan memiliki kecepatan

maksimal 16 Mhz.

2. Kapasitas memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM

(Electrically Eraseble Programable Read Only Memory) sebesar 512

byte.

(19)

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 [9]

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

Gambar 2.4 Konfigurasi Pin ATMega 8535

Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin pada

ATMega 8535 sebagai berikut :

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.

2. GND merupakn pin ground.

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

(20)

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

dahulusebelum 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.

2. PORT B

Merupakan 8 bit directional port I/O. Setiap pinnya dapat menyediakan

(21)

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 berikut :

Tabel 2.1 Fungsi Alternatif Port B

Port Pin Fungsi Khusus

PB0 T0 = timer/counter 0 external counter input

PB1 T1 = timer/counter 0 external counter input

PB2 AIN0 = analog comparator positive input

PB3 AIN1 = analog comparator negative input

PB4 SS = SPI slave select input

PB5 MOSI = SPI bus master output/slave input

PB6 MISO = SPI bus master input/slave output

PB7 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 dua pin port C (PC6 dan PC7) juga memiliki

(22)

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 berikut :

Tabel 2.2 Fungsi Alternatif Port D

Port Pin Fungsi Khusus

PD0 RDX ( UART input line )

PD1 TDX ( UART output line )

PD2 INT0 ( external interrupt 0 input )

PD3 INT1 ( external interrupt 1 input )

PD4 OC1B ( timer/counter 1 output compare B match

output )

PD5 OC1A ( timer/counter 1 output compare A match

output )

PD6 ICP ( timer/counter 1 input capture pin )

PD7 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 di-reset.

(23)

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 Mikr okontroler 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

(24)

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 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 ditunjukkan

pada gambar dibawah ini.

Gambar 2.5 Memori Data 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

(25)

Selain itu AVR ATMega 8535 juga memiliki memori data berupa EEPROM 8-bit

sebanyak 512 byte. Alamat EEPROM dimulai $000 sampai $1FF [8].

2.3 Sistem Minimum ( Minimum System) [2]

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.

(26)

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 Ω (R1) dan 10 KΩ

(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.

(27)

Dari gambar 2.7 dapat dilihat bahwa suatu system minimum memiliki 4 port 8 pin

yang masing-masing portnya memiliki fungsi khusus dimana pembagiannya telah

dijelaskan pada sub bab 2.2.1.

2.4 Ultrasonic Sebagai Sensor Halangan

RRF 04 adalah merupakan modul yang berisi transmiter dan reciever

ultrasonic. RRF 04 menghitung selisih waktu antara saat pemancaran sinyal dan saat

penerimaan sinyal pantul. Seperti diketahui, kecepatan rambat suara di udara adalah

34399,22 cm/detik, berarti untuk merambat sejauh 1 cm suara membutuhkan waktu

29 mikro detik. Misalkan waktu antara pengiriman dan penerimaan sinyal ultrasonic

adalah 5800 mikro detik, maka jarak antara sensor dan benda (penghalang) adalah

100 cm (2 x 100 cm x 29 mikro detik/cm = 5800 mikro detik).

RRF 04 hanya menggunakan 2 port I/O untuk berhubungan dengan

mikrokontroler, sehingga sangat ideal untuk aplikasi-aplikasi robotika. RRF 04 dapat

mengukur jarak mulai 3 cm sampai 400 cm, dan dapat mengukur benda dengan

diameter 3 cm pada jarak kurang dari 2 meter.

(28)

Pulsa Ultrasonic yang dikirim oleh RRF 04 adalah sinyal ultrasonic dengan

frekuensi 40 Khz sebanyak 8 periode setiap kali pengiriman. Ketika pulsa mengenai

benda penghalang, maka pulsa ini akan dipantulkan kembali dan diterima kembali

oleh penerima Ultrasonic. Dengan mengukur selang waktu antara saat pulsa dikirim

dan pulsa pantul diterima, maka jarak benda penghalang bias dihitung.

Apabila PI (trigger pulse input) diberi logika 1 (high) selama minimal 10 uS

maka RRF 04 akan memancarkan sinyal ultrasonic, setelah itu pin PO (echo pulse

output) akan berlogika high selama 100 uS – 18 mS (tergantung jarak sensor dan

penghalang) dan apabila tidak ada penghalang maka PO akan berlogika 1 selama

kurang lebih 38 mS.

Misalkan lama Echo Pulse adalah T, maka untuk mengetahui jarakya dapat

diketahui dengan cara membagi T dengan 58 (T/58) untuk 1 cm dan dibagi dengan

148 (T/148) untuk satuan inch. Misalkan panjang Echo Pulse adalah 5800 mikro

detik maka jarak benda adalah 1 meter (5800/58 = 100 cm = 1 meter) [8].

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

(29)

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 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 [8]. Di bawah ini gambar dari motor DC

yang digunakan sebagai aktuator.

Gambar 2.9 Bagian Motor DC Magnet Permanent

Motor DC yang digunakan pada robot lengan ada 3 buah yaitu 2 buah motor

(30)

2.6 Motor Servo Standar t Sebagai Aktuator Kemudi

Penggunaan motor servo standart difungsikan untuk pengaturan arah kemudi,

sehingga saat terdapat halangan robot dapat menghindar. Servo adalah sebuauh motor

dengan system umpan balik tertutup dimana posisi dari motor akan diinformasikan

kembali ke rangkaian control yang ada di dalam motor servo. Motor ini terdiri dari

sebuah motor DC, serangkaian gear, potensiometer dan rangkaian control.

Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo.

Sedangakan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang

[image:30.612.243.401.349.505.2]

dikirim melalui kaki sinyal dari kabel motor.

Gambar 2.10 Motor Servo Standart

Pengendalian gerakan batang motor servo dapat dilakukan dengan menggunakan

metode PWM (Pulse Width Modulation). Teknik ini 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

(31)

semakin besra sumbu ke arah jarum jam dan semakin kecil pulsa OFF maka akan

semakin besar gerakan sumbu ke arah yang berlawanan dengan jarum jam [8].

Untuk menggerakkan motor servo ke kanan atau ke kiri, tergantung dari nilai

delay yang akan diberikan. Untuk membuat servo pada posisi center, berikan pulsa

1,5 ms. Untuk memutarkan servo ke kanan, berikan pulsa ≤ 1,3 ms dan pulsa ≥ 1,7

ms untuk berputar ke kiri dengan delay 20 ms, seperti ilustrasi berikut.

Gambar 2.11 Ilustrasi Merubah Arah Putaran 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 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

(32)

2.8 Logika Fuzzy (Fuzzy Logic)

2.8.1 Pendahuluan Fuzzy

Logika fuzzy merupakan salah satu komponen pembentukan soft computing.

Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A Zadeh pada tahun 1965.

Dasar logika fuzzy adalah teori himpunan fuzyy. Pada teori himpunan fuzzy, peranan

derajat keanggotaan sebagai penentu keberadaan element dalam suatu himpunan

sangatlah penting. Nilai keanggotaan atau derajat keanggotaan atau mempership

function menjadi ciri utama dari penalaran dengan logika fuzzy tersebut. Logika

fuzzy dapat dianggap sebagai kotak hitam (blackbox) yang menghubungkan antara

[image:32.612.136.493.390.483.2]

ruang input menuju ke ruang output, seperti yang diilustrasikan gambar berikut [5].

Gambar 2.12 Contoh Pemetaan Input-Output

Dimana Logika fuzzy memiliki tujuh alasan kuat untuk dipakai, yakni karena

konsep logika fuzzy mudah dimengerti dengan menggunakan dasar teori himpunan,

logika fuzzy sangat fleksibel, memiliki toleransi teradap data yang tidak tepat,

mampu memodelkan fungsi–fungsi nonlinier yang sangat kompleks, dapat

membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara

langsung tanpa melalui proses pelatihan, dapat bekerjasama dengan teknik–teknik

kendali secara konvensional, dan yang terpenting adalah logika fuzzy didasarkan

KOTAK

HITAM

Persediaan barang akhir

Produksi barang esok hari

(33)

pada bahasa alami, sehingga mudah dimengerti karena menggunakan bahasa sehari –

hari (Cox, 1994)

Metode Fuzzy yang terkenal ada dua, yakni SUGENO dan MAMDANI.

Dimana keduanya sebenarnya memiliki proses yang sama dari fuzifikasi hingga

inferen rule, bedanya ketika memasuki proses defuzifikasi, dimana keluaran

MAMDANI berupa himpunan fuzzy, sedangkan SUGENO menggunakan keluaran

beruap konstanta atau persamaan. Sehingga, MAMDANI memiliki keuntungan

proses keluaran yang lebih intuitif namun membutuhkan proses yang lama,

sedangkan SUGENO memiliki keuntungan proses yang cepat namun sedikit

kehilangan intuitifnya [5].

2.8.2 Metode Sugeno

Penalaran dengan metode sugeno hampir sama dengan penalaran mamdani,

hanya saja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan

berupa konstanta atau persamaan linier. Sugeno mengusulkan penggunaan singleton

sebagai fungsi keanggotaan dari konsekuen. Singleton adalah sebuah himpunan fuzzy

dengan fungsi keanggotaan pada titik tertentu mempunyai sebuah nilai 0 di luar titik

tersebut. Metode ini diperkenalkan oleh Takagi Sugeno Kang pada tahun 1985 [6].

a. Model Fuzzy Sugeno Orde-Nol

Secara umum bentuk model fuzzy Sugeno orde-nol adalah ;

(34)

Dengan A1 adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu

konstanta (tegas) sebagai konsekuen.

b. Model Fuzzy Sugeno Orde-Satu

Secara umum bentuk model fuzzy Sugeno ordo-satu adalah :

IF (x1 is A1) • ... • (xN is AN) THEN z = p1*x1 + … + pN*xN + q (2.2)

Dengan A1 adalah himpunan fuzzy ke-i sebagai anteseden, dan p1 adalah

suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam

konsekuen.

Apabila komposisi aturan menggunakan metode sugeno, maka deffuzifikasi

dilakukan dengan cara mencari nilai rata-ratanya.

Pada metode sugeno cara pengevaluasian rule hampir sama dengan metode yang

[image:34.612.120.522.442.649.2]

lainya.

Gambar 2.13 Evaluasi Rule Metode Sugeno A 3 1 0 X 1 y 1 0 Y 0 .0

x 1 0

0 .1 1

Z

1

0 X

0 . 2

0 0 .2 1 Z A 2 x 1

IF x is A 1 ( 0 .5 ) z is k 3 (0 .5 )

R u l e 3 : A 1 1

0 X 0

1

Z x 1

T H E N

1 y 1 B 2 0 Y 0 .7 B 1

0 . 1

0 .5 0 .5

O R (m a x )

A N D (m in )

O R y is B 1 ( 0 .1 ) T H E N z i s k 1 ( 0 .1 ) R u le 1 :

IF x is A 2 ( 0 .2 ) A N D y i s B 2 ( 0 .7 ) T H E N z is k 2 (0 .2 )

R u l e 2 :

k 1

k 2

k 3

(35)
[image:35.612.131.508.117.248.2]

Gambar 2.14 Defuzzifikasi Metode Sugeno

Dari gambar 2.13 dan 2.14 untuk aturan penggunaan operator logika sama dengan

metode yang lainya, namun pada bagian keluaran dan hasil dari defuzzifikasi metode

sugeno berupa singleton, dimana dengan keluaran ini sangat cocok untuk

diaplikasikan pada mikrokontroler dikarenakan keterbatasan kecepatan eksekusi dan

memori [6].

2.8.3 Komponen Dasar Fuzzy [6]

Dalam pemanfaatannya, fuzzy logic memerlukan tiga proses dasar, yakni

fuzzyfikasi, inferen rule, dan defuzzyfikasi.

Gambar 2.15 Konsep Dasar Logika Fuzzy

[image:35.612.204.459.523.677.2]
(36)

Dimana :

1. Derajat Keanggotaan adalah derajat dimana nilai crisp compatible

dengan fungsi keanggotaan ( dari 0 sampai 1 ), juga mengacu sebagai

tingkat keanggotaan, nilai kebenaran, atau masukan fuzzy.

2. Label adalah nama deskriptif yang digunakan untuk mengidentifikasikan

sebuah fungsi keanggotaan.

3. Fungsi Keanggotaan adalah mendefinisikan fuzzy set dengan

memetakkan masukan crisp dari domainnya ke derajat keanggotaan.

4. Masukan Crisp adalah masukan yang tegas dan tertentu.

5. Lingkup / Domain adalah lebar fungsi keanggotaan. Jangkauan konsep,

biasanya bilangan, tempat dimana fungsi keanggotaan dipetakkan.

6. Daerah Batasan Crisp adalah jangkauan seluruh nilai yang mungkin

dapat diaplikasikan pada variabel sistem.

2.8.4 Fungsi Keanggotaan [5]

Fungsi keanggotaan (membership function) adalah suatu kurva yang

menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (sering

juga disebut dengan derajat keanggotan) yang memiliki interval antara 0 sampai 1.

Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah

dengan melalui pendekatan fungsi. Pada logika fuzzy terdapat macam-macam fungsi

(37)

1. Representasi Linear

Pada representasi linear, pemetaan input ke derajat keanggotaannya

digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi

pilihan yang baik untuk mendekati suatu konsep yang kurang jelas. Ada dua keadaan

himpunan fuzzy yang linear. Pertama, kenaikan himpunan dimulai pada nilai

dominan yang memiliki derajat keanggotaan nol (0) bergerak ke kanan menuju ke

nilai domain yang memiliki derajat keanggotaan lebih tinggi (gambar 2.16).

Gambar 2.16 Representasi Linear Naik Gambar 2.17 Representasi Linear Turun

Fungsi keanggotaan :

(2.3)

Ke dua, merupakan kebalikan yang pertama. Garis lurus dimulai dari nilai domain

dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke

nilai domain yang meimiliki derajat keanggotaan lebih rendah (gambar 2.17).

Fungsi keanggotaan :

(2.4) 0

1

a Domain b

derajat keanggot aan µ(x)

0 1

a domain b

(38)

2. Representasi Kur va Segitiga

Kurva segitiga pada dasarnya merupakan gabungan antara dua garis (linear)

[image:38.612.193.457.191.329.2]

seperti terlihat pada (gambar 2.18)

Gambar 2.18 Kurva Segitiga

Fungsi keanggotaan :

(2.5)

3. Representasi Kur va Trapesium

Kurva trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada

beberapa titik yang memiliki nilai keanggotaan 1 (gambar 2.19).

Gambar 2.19 Kurva Trapesium 0

1

a b

domain d e ra ja t k e a n g g o ta a n µ (x ) c c 0 1

a b

[image:38.612.206.468.513.647.2]
(39)

Fungsi keanggotaan :

(2.6)

4. Representasi Kur va Bentuk Bahu

Daerah yang terletak di tengah-tengah suatu variabel yang direpresentasikan

dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun (misalkan :

DINGIN bergerak ke SEJUK dan HANGAT bergerak ke PANAS). Tetapi terkadang

salah satu sisi dari variable tersebut tidak mengalami perubahan. Sebagai contoh,

apabila telah mencapai kondisi PANAS, kenaikan temperatur akan tetap berada pada

kondisi PANAS.

Himpunan fuzzy ’bahu’, bukan segitiga digunakan untuk mengakhiri variabel

suatu daerah fuzzy, bahu kiri bergerak dari benar ke salah, demikian juga bahu kanan

bergerak dari salah ke benar. Gambar 2.19 menunjukkan variabel TEMPERATUR

dengan daerah bahunya.

Gambar 2.20 Daerah ’bahu’ Pada Variabel TEMPERATUR

40 28 Temp (°C) d e ra ja t k e a n g g o ta a n µ (x )

(40)

Setelah proses fuzzyfikasi selesai, dilakukan evaluasi rule, rule yang akan

dibuat ini, bergantung dari pengalaman dari perancang sistem, semakin banyak

[image:40.612.253.409.191.357.2]

pengalaman, maka semakin baik pula hasil yang didapat.

Gambar 2.21 Prosedur Evaluasi Rule

Tahap terakhir adalah defuzzyfikasi, yang mengambil keluaran fuzzy dari

setiap label, untuk dijadikan output crisp. Menggunakan metode defuzzyfikasi COG,

keluaran nilai single tone dikombinasikan menggunakan bobot rata-rata. Rumus

COG, untuk perhitungan reduksi single tone adalah

(2.7)

2.9 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.

(41)

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 [3]. Ke 32 kata

kunci ini adalah :

Table 2.3 Kata Kunci (Keyword) Pada Bahasa C

auto br eak case char const continue default do

double else enum extern float for goto if

int long register return short signed sizeof static

struct switch typedef union unsigned void volatile while

2.9.1 Alasan Menggunakan Bahasa C [3]

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.

(42)

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.9.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 ditentukan

namanya, yaitu fungsi main(). Artinya program C minimal memiliki satu fungsi

(fungsi main()) [3]. Berikut ini adalah struktur dari program C.

main() {

statemen_1; statemen_2; …….. statemen_n; }

Fungsi Utama

fungsi_lain() {

statemen_statemen; }

Fungsi-fungsi lain

yang ditulis oleh pemrogram komputer

(43)

Keterangan :

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 { } bias tergantung sejumlah unit yang disebut pernyataan

(statment). Umumnya pernyataan berupa instruksi untuk :

• Memerintah computer melakukan proses menampilkan string ke

layar.

• Menghitung operasi matematik.

(44)

Bab ini menjelaskan tentang tahapan-tahapan pembuatan tugas akhir yang

berjudul “Robot Becak Berbasis Mikrokontroler ATmega 8535 Dengan Logika

Fuzzy” diantaranya terkait tentang perencanaan sistem, pernagkat keras (meliputi

mekanik dan perangkat elektronika) dan perangkat lunak (meliputi algoritma sistem

dan perencanaan fuzzy).

Tugas akhir ini juga membuat alat, berupa module robot sebagai obyek

implementasi dari metode yang dibuat. Namun sesuai dengan dengan judulnya, maka

pada bab ini lebih difokuskan pada pembahasan perangkat lunak yang menjadi pokok

dalam tugas akhir ini berupa implementasi metode fuzzy logic.

3.1 Blok Diagram Sistem

Perancangan sistem dadri tugas akhir ini mempunyai konfigurasi blok

diagram sistem seperti gambar 3.1 dengan alur kerja sistem sebagai berikut.

a. Servo digunakan sebagai penggerak kemudi, apabila robot mendeteksi

keberadaan benda di depan, samping kanan dan kiri.

b. Motor DC digunakan sebagai penggerak robot, dimana sebagai pengendalian

(45)

c. Ultrasonik RRF 04 diguanakn sebagai detector halangan, diolah oleh ATmega

8535 untuk mendapatkan path menghindari halangan.

d. Path menghindari halangn dijadikan sebagai masukan yang diolah oleh

ATmega 8535 menggunakan fuzzy decision untuk menjadikan keputusan aksi

motor servo dan motor dc sebagai penggerak utama.

Gambar 3.1 Blok Diagram Sistem

Dari sistem tersebut diketahui bahwa sistem terintegrasi antara mekanik,

actuator, sensor dan kontroler. Sehingga setiap adanya hambatan atau kesalahan pada

salah satu bagian tersebut membuat sistem tidak dapat berjalan dengan semestinya.

Untuk lebih detailnya maka dibuat sub-sub sistem, antara lain sub sistem

avoids obstacle dan sub sistem fuzzy decision maker. Dan titik berat pengerjaan tugas

akhir ini terletak pada sub sistem fuzzy decision maker yang digunakan untuk

menentukan pergerakan mobile robot.

3.1.1 Sub Sistem Obstacle Avoidance

Sub sistem ini bertugas untuk mengolah data dari sensor, berupa tiga buah

sensor ultrasonic RRF 04 menggunakan mikrokontroler ATmega 8535 dan data

keluaran informasi berupa data path obstacle avoidance, yakni posisi halangan dan Ult rasonic Obst acle Avoidance Fuzzy Decision M aker M ot or Servo

(46)

jarak halangan. Informasi tersebut nantinya akan digunakan pula sebagai masukan

data kedua dalam proses fuzzy.

Gambar 3.2 Blok Diagram Sistem Obstacle Avoidance

Dengan adanya ultrasonic, sub sistem ini dapat mendeteksi adanya benda atau

obyek sebagai halangan di depan, samping kanan dan kiri dengan jangkauan 180°

pada sumbu y positif, berdasarkan pantulan ultrasonic yang dipancarkan oleh

transmitter dan diterima oleh receiver, kemudian diolah oleh RRF 04 sehingga dapat

diambil datanya dalam satuan waktu (nilai TCNT). Sehingga mikrokontroler dapat

mengkalkulasi data-data respon hindar dari jarak bebas yang nantinya digunakan

sebagai data masukan di mikrokontroler utama. Setelah data diolah maka

mikrokontroler akan menginstruksikan pada bagian aktuator untuk melakukan aksi.

Pada sub bab sistem obstacle avoidance ini data drai sensor akan diupdate

serta diulang dan datanya dikirim ke mikro utama sub sistem fuzzy decision maker

sebagai data matang dari halanganan, sehingga akan meringankan dan mempercepat

(47)

3.1.2 Sub Sistem Fuzzy Decision Maker

Sub sistem ini akan menjadi titik fokus pengerjaan dalam tugas akhir ini,

dimana tugasnya mengolah data masukan dari path obstacle avoidance agar dapat di

proses menjadi keluaran aksi gerakan mobile robot.

Gambar 3.3 Blok Diagram Sistem Fuzzy Decision Maker

Karena kenyataanya dalam kehidupan sehari-hari manusia jarang

menggunakan hitungan numeric, tetapi lebih sering menggunakan hitungan kira-kira.

Semisal seorang sopir sedang mengemudi, ketika ada belokan dia harus memutar setir

mobilnya, namun dia hanya berusaha menjaga agar mobil tidak keluar jalur atau

menabrak, dengan cara memutar setir secukupnya.

Selain itu, pengguna logika fuzzy dalam sistem tidak memerlukan tingkat

kepastian yang tinnggi, karena selalu bergerak atau berubah (dinamis), tetapi yang

dibutuhkan adalah kecepatan respon proses dan kemudahan user untuk memprogram

robot menjadi cerdas yang memiliki kemampuan untuk memutuskan aksi gerak

(48)

kebanyakan sistem yang sudah ada, seperti pada tinjauan pustaka, menggunakan

behavior base, priority base maupun heuristic base.

Dengan menggunakan fuzzy, data masukan asli (crisp input) dari path

menghindari halangan, dijadikan masukan fuzzy (fuzzy input) terlebih dahulu

berdasarkan membership function yang dirancang, kemudian masukan fuzzy tersebut,

diproses dengan fuzzy inferen system (FIS) yang disesuaikan dengan aturan (rule)

yang dibuat untuk menghasilkan keluaran fuzzy (fuzzy output), setelah didapat

keluaran fuzzy, maka dilakukan defuzzifikasi menggunakan single tone agar

didapatkan keluaran asli (crisp output) yang bias digunakan sebagai data uuntuk

mengontrol servo sehingga menjadikan aksi gerakan robot.

Semakin banyak fungsi keanggotaannya, seharusnya semakin halus dan baik

pula pergerakanya karena jangkauan toleransinya kecil, jika pembuatan aturanya

sesuai. Namun untuk tahapan pembuatan sistem ini, dilakukan melalui pengujian

dengan membership function yang minim terlebih dahulu, karena mudah dalam

membuat implementasi program dan eksekusi nantinya, baik merubah banyak

membership function, merubah bentuk membership function atau jangkauan untuk

tiap membership function.

Begitu juga untuk pembuatan aturan (rule base) yang bias ditabelkan juga

akan dikaji lebih lanjut dengan menanmbahkan kondisi-kondisi tertentu ataupun

(49)

eksekusinya lebih cepat dan ringan serta lebih baik. Karena masukan fuzzy berjumlah

tiga masukan yaitu :

1. Masukan jarak bebas halangan dari ultrasonic satu

2. Masukan jarak bebas halangan dari ultrasonic dua

3. Masukan jarak bebas halangan dari ultrasonic tiga

Maka diperlukan tabel bertingkat untuk pembuatan rule base dalam bentuk tabel

standart, namun tidak terbatas sampai disini, karena dapat dilakukan pengembangan

(baik berupa penambahan, pengurangan atau perubahan beberapa kondisi, jika

diperlukan) agar perfoma lebih maksimal dan respon lebih cepat dan ringan.

Digunakanya metode single tone dalam tahap defuzifikasi dikarenakan

metode tersebut tidak terlalu rumit, selain itu juga single tone lebih mudah

implementasi programnya dan lebih cepat dalam proses eksekusinya serta

memerlukan memori yang tidak terlalu banyak dalam aplikasi di mikrokontroler yang

terbatas dengan memori dan kecepatan proses setiap intruksi yang ada. Nantinya

membership output juga akan disesuaikan agar sistem berjalan lebih optimal,

perancangan sistem dengan membership output yang lebih banyak, seharusnya

menghasilkan keluaran yang lebih baik dan halus. Karena semakin halus langkah

robot bergerak semakin baik dan semakin banyak pula kombinasi aturan yang dibuat.

Untuk lebihh detail mengenai perancangan fuzzy itu sendiri akan dibahas tersendiri,

dalam pokok bahasan perangkat lunak khususnya dibagian perencanaan sistem logika

(50)

3.2 Perancangan Perangkat Keras

Sistem pada tugas akhir ini membutuhkan perangkat keras sebagai wujud

implementasi sekaligus obyek dalam visualisasi aktual logika fuzzy yang akan

digunakan sebagai pembuatan keputusan (decision maker) aksi gerak berdasarkan

data masukan yang diolah bersamaan. Agar lebih mudah menganalisis keberhasilan

dan kebenaran sistem yang dirancang, karena sistem ini terkait implemntasi fuzzy

yang tentunya membutuhkan waktu proses dan menghabiskan memori untuk

menyimpan rule base, dan diimplementasi dalam mikrokontroler yang memiliki

keterbatasan dalam memori dan waktu eksekusi. Sehingga sangat diperlukan

perangkat keras untuk pembuktian sistemnya berjalan dengan baik dan sesuai harapan

atau tidak.

Karena jika hanya menggunakan simulasi, tidak akan diketahui faktor-faktor

lain yang berlaku di kasus sesungguhnya, seperti pengaruh desain mekanik,

lingkungan (permukaan lapangan uji) dan sebagainya. Selain itu, simulasi tidak bisa

menunjukkan apakah sistem yang dibuat relevan untuk diimplementasikan ke

mikrokontroler.

Selanjutnya pembahasan mengenai perancangan perangkat keras akan dibagi

dalam dua bagian yaitu mengenai desain mekanik dan pengaturan antarmuka

(interface) perangkat elektronik, baik mengenai sensor, actuator dan minimum sistem

(51)

3.2.1 Desain Mekanik

Perancangan mekanik pada sistem ini, didasarkan pada bentuk becak yang

sudah ada, sehingga untuk pemasangan minimal sistem, sensor, peletakan motor

servo dan motor DC harus disesuaikan dengan kontruksi becak.

Dudukan motor servo dan minimal sistem menggunakan bahan acrilyc.

Karena bahan-bahan tersebut cocok untuk digunakan dalam mendesain robot, karena

ringan tapi kuat dan mudah dibentuk. Penggunaan bahan-bahan tersebut dikarenakan

mudah didapat dan dengan harga yang terjangkau.

Untuk penyangga ketiga sensor menggunakan plat denggan lebar 2 cm dan

panjang 20 cm. digunakan bahan ini dikarenakan kuat dan tidak mudah bengkok bila

terkena getaran. Di bawah ini skema kontriksi robot becak.

a. Tampak Samping b. Tampak Atas

Gambar 3.4 Skema Konstruksi Robot Becak

Dari gambar 3.4 dapat dijelaskan struktur konstruksi dari robot becak antara lain :

1. Kode “A” adalah jarak sumbu roda, pemasangan as roda harus sempurna

(52)

2. Kode “B” adalah jarak roda depan dan belakang, jarak ini berpengaruh pada

panjangnya kabel instalasi dari sensor dan servo.

3. Kode “C” adalah panjang penampang dudukan minimal sistem. Panjang

penampang ini disesuaikan dengan panjang dari board minimal sistem.

4. Kode “D” adalah lebar penampang dudukan minimal sistem. Lebar

penampang ini disesuaikan dengan lebar penampang board minimal sistem.

Sehingga nilai estetika dari becak sendiri tidak terlalu banyak berubah.

5. Kode “E” adalah diameter masing-masing roda. Dimana hal ini berpengaruh

pada pemasangan motor DC sebagai penggerak utama dan as roda. Agar roda

dapat bergerak dengan lancer maka dipasang bearing pada ke dua sisi

dudukan.

6. Kode “F” adalah jarak ketinggian sensor ultrasonic. Dimana hal ini

berpengaruh pada kemampuan baca sensor dari sisi ketinggian rintangan.

Disini menggunkan tiga sensor untuk menghindari halangan di depan,

samping kanan dan samping kiri.

7. Kode “G” adalah ajrak servo ke tuas kemudi. Dimana hal ini berpengaruh

pada kesetabilan kerja kemudi saat berputar ke kiri dank e kanan.

Dengan memperhatikan setiap detail dari kontruksi becak, maka diharapkan

akan menghasilkan robot yang dapat bergerak secara setabil dan dinamis. Karena

kesetabilan kinerja robot tidak dapat dititik beratkan pada satu bagian saja, seperti

(53)

Untuk lebih memperjelas dari mekanik robot becak di bawah ini adalah gambar

mekanik utama robot yang diambil dari tiga arah.

servo

Se

nsor ultraso

ni

[image:53.612.155.477.161.379.2]

k

Gambar 3.5 Mekanik Robot Tampak Atas

Dari gambar 3.5 minimal sistem dapat terpasang dengan tepat pada

dudukannya, hal ini dilakukan agar nilai seni dari kontruksi becak tidak banyak

berubah. Untuk penempatan ketiga sensor ultrasonic dipasang dengan sudut 30°.

Sedangkan untuk pin ISP dipasang pada bagian belakang agar saat loader program

tidak perlu membongkar tempat duduk becak.

Desain motor servo diletakkan antara tempat duduk pengemudi dengan

kemudi becak, hal ini bertujuan agar saat ada halangan disamping, sisi kanan dan sisi

kiri robot dapat langsung belok tanpa ada halangan.

Pada tugas akhir ini menggunakan motor servo yang relative lebih mudah

(54)

Perinintah berupa nilai PWM yang diberikan akan berbanding lurus dengan

pergerakanya.

Motor servo dapat diatur baik kecepatan maupun arah putaran dengan

mengatur duty cycle. Jika motor servo berhenti pada Ton = 1.5 ms maka motor dapat

berputar pada Ton < 1.5 ms untuk arah CW (Clock Wise) atau Ton > 1.5 ms untuk arah

[image:54.612.149.487.275.470.2]

CCW (Counter Clock Wise).

Gambar 3.6 Posisi Switch dan Battery

Pada gambar 3.6 dapat dilihat mekanik robot dari sisi kiri, angka 1 adalah

selector switch yang terdiri dari 3 jalan yaitu pada posisi tengah off, posisi kanan

fuzzy dan posisi kiri pemrograman mikrokontroler biasa dengan satu sensor

ultrasonic.

Pada angka 2 menunjukkan dudukan penumpang, dimana di dalam dudukan

terdapat baterai RC 7.4 V 1100 mAH dengan factor pengali 20 C. baterai ntersebut

akan mensupplay tegangan ke seluruh komponen yang terpasang pada robot. 1

(55)
[image:55.612.132.497.108.346.2]

S e r v o M o t o R D C dri ver Senso r ul tr a soni k

Gambar 3.7 Mekanik Robot Tampak Bawah

Dari bawah dapat terlihat motor DC yang telah terpasang dengan roda gila

(gear box), dimana roda gila ini akan membantu meningkatkan torsi dari motor DC,

sehingga dapat menggerakkan robot.

Digunakanya motor DC dikarenakan motor ini harganya relatif murah dan

torsinya cukup tinggi, untuk mengatasi hal ini pada tugas akhir ini untuk

mengendalikan putarannya dapat diatur dengan menggunakan rangkaian motor driver

dengan memanfaatkan IC L293D.

3.3 Perancangan Perangkat Lunak

Perangkat lunak (software) yang dibutuhkan untuk mengintegrasikan menjadi

(56)

Penggunaan bahasa C dimaksudkan untuk mempermudah pemrograman.

Dibanding assembler, bahasa C lebih mudah dibaca dan dimengerti. Salah satu IDE

(Intregated Development Environment) yang cukup membantu dalam mempelajari

mikrokontroler AVR RISC 8 bit dengan bahasa C adalah CodeVisionAVR.

Kelebihan CodeVisionAVR hanya ada di kemudahan manajemen berkas dan proyek

dalam sebuah IDE serta fitur code wizard yang membantu menghasilkan rentetan

baris kode untuk keperluan yang umum.

Kebutuhan perangkat lunak meliputi masing-masing tugas kontroler yang

mengambil data sensor ultrasonic dan pengambilan keputusan. Untuk mempermudah

perencanaan fuzzy, digunakan software yang ada, yakni MATLAB Fuzzy Logic

Toolbox. Dengan menggunakan software ini, maka dengan mudah divisualisasikan

mulai dari grafik membership function input dan membership function output,

sehingga didapatkan hasil evaluasi rule juga dapat melihat output crisp.

3.3.1 Blok Diagram Fuzzy

Bagian ini akan membahas mengenai blok diagram fuzzy yang akan

menggunakan metode SUGENO. Sistem ini menggunakan masukan dari data yang

didapatkan dari mikro ATmega 8535 berupa arah dan jarak bebas halangan.

Kemudian masukan tersebut dirubah menjadi fuzzy melalui proses fuzzifikasi

(57)

hasil proses fuzzifikasi tersebut diproses menggunakan inferen engine berupa if-else

rule sehingga didapatkan keluaran fuzzy.

Untuk mendapatkan keluaran sebenarnya, maka keluaran fuzzy harus diproses

lebih lanjut menggunakan defuzzifikasi. Pemilihan defuzzifikasi yang tepat pada

implementasi metode fuzzy logic di mikrokontroler, menggunakan single tone,

karena perhitungannya tidak terlalu rumit, cepat dan ringan untuk dieksekusi dalam

skala mikroprosesor.

Gambar 3.8 Blok Diagram Fuzzy

3.3.2 Fungsi Keanggotaan

Untuk proses fuzzifikasi ini, memiliki tiga buah inputan crisp dari ketiga

sensor, yakni jarak bebas halangan. Yang memiliki membership function dekat,

sedang dan jauh.

Untuk jarak bebas dari ketiga inputan sensor menggunakan jenis membership

function trapezoidal karena menginginkan nilai yang konstan bernilai “1” pada range

(58)

Untuk penentuan nilai jangkauan, didasarkan intuisi, seberapa nilai sistem ini

akan dikatakan dekat, sedang dan jauh sekali. Begitu juga untuk penentuan posisi

atau arah didasarkan pada intuisi juga, seberapa nilai sistem ini menganggap benda

berada di sebelah kanan sekali, depan, agak kiri maupun kiri sekali.

Untuk mempermudah pembahasan di atas maka dengan menggunakan

MATLAB dapat terlihat hubungan antara masukan dari masing-masing sensor dan

keluaran dari hasil logika fuzzy.

Gambar 3.9 Membership Function Untuk US1 dan US3

Dari rancangan membership function untuk US1 dan US3 didapatkan perumusan

masing-masing member dengan formula sebagai berikut:

1,3 ( ) =

0, 25 < ≤ 100

1, 0 < < 15

1− , 15 ≤ ≤ 25

(3.1)

1,3 ( ) =

0, ≤ 15 ≥ 60

1, ≥ 25 ≤ 50

, 15 < ≤ 50

1− , 50 ≤ ≤ 60

(59)

1,3 ( ) =

0, 0 < < 50

1, 60 < ≤ 100

, 50 ≤ ≤ 60

(3.3)

Sedangkan untuk sensor ultrasonic 2 (US2) jarak minimum baca terhadap halangan

20 cm, ini dilakukan untuk memberi ruang gerak saat belok.

Gambar 3.10 Membership Function Untuk US2

Dari rancangan membership function untuk US2 didapat perumusan masing-masing

member dengan formula sebagai berikut.

2 ( ) =

0, 30 < ≤ 100

1, 0 < < 20

1− , 20 ≤ ≤ 30

(3.4)

2 ( ) =

0, ≤ 20 ≥ 70

1, ≥ 30 ≤ 60

, 20 < ≤ 30

1− , 60 ≤ ≤ 70

(3.5)

2 ( ) =

0, 0 < < 60

1, 70 < ≤ 100

, 60 ≤ ≤ 70

(60)

Kemudian untuk membership output, sistem ini menggunakan metode single

tone karena proses eksekusi yang cepat dan ringan, dikarenakan sistem ini berbasis

mikroprosesor yang memiliki kecepatan tidak terlalu tinggi dan kapasitas memori

yang terbatas. Untuk perancangan output motor DC digunakan empat anggota antara

lain Stop, Slow, Fast dan Turbo. Sedangkan untuk motor servo menggunakan lima

anggota Center, Right, BigR, Left dan BigLeft. Berikut ini rancangan membership

function untuk masing-masing output.

[image:60.612.175.467.330.462.2]

Gambar 3.11 Membership Function Output Motor DC

Gambar 3.12 Membership Function Output Motor Servo St op Slow Fast Turbo

10000 7500

6000 3000

BigR

BigL Left Cent er Right

150 75

-75

(61)

Nilai dari crisp di atas digunakan sebagai acuan saat melakukan pemrograman,

dimana nilai crisp tersebut mempengaruhi kecepatan putaran motor DC dan arah

putar motor servo yang terhubung dengan kemudi robot becak.

3.3.3 Fuzzifikasi

Untuk proses fuzzifikasi, masukan crisp dari sensor ultrasonic berupa data

jarak bebas halangan akan dirubah menjadi masukan fuzzy arah hindar halangan.

Semakin banyak membership function keanggotaan yang dipakai, maka semakin

smooth pula perubahan data masukannya, namun banyaknya membership function

juga harus dikompensasi dengan perumusan rule yang lebih kompleks pula. Semisal

digunakan tiga anggota untuk tiap masukan crisp, maka hanya dibutuhkan 81 rule

untuk empat masukan crisp. Berikut ini merupakan ilustrasi proses fuzzifikasi untuk

masukan crisp dari data jarak benda menggunakan membership function trapeziodal.

Gambar 3.13 Ilustrasi Proses Fuzzifikasi

Dari grafik tersebut didapatkan proses fuzzifikasi masukan crisp menjadi

masukan fuzzy dengan komposisi: 0.8

(62)

( 17) = 1− = 1− 0.2 = 0.8

( 17) = = 0.2

Proses fuzzifikasi ini juga dilakukan untuk masing-masing masukan crisp, dimana

masukan crisp jarak benda menjadi masukan fuzzy.

3.3.4 Inferen Engine

Dari membership function yang sudah dibuat, maka dapat dirumuskan rule

fuzzifikasinya sesuai kondisi yang ada. Karena membership function masukannya

masing-masing memiliki tiga buah jarak, sehingga memiliki 27 kondisi seperti pada

tabel 3.1. Dengan mentabelkan rule maka akan mudah untuk menentukan rule-rule

mana saja yang memiliki kondisi dan konklusi yang sama.

Tabel 3.1 Kombinasi Rule dari Tiga Sensor

US2 Near M id Far

US3| US1 Near M id Far Nea

Gambar

Gambar 2.10 Motor Servo Standart
Gambar 2.12 Contoh Pemetaan Input-Output
Gambar 2.13 Evaluasi Rule Metode Sugeno
Gambar 2.15 Konsep Dasar Logika Fuzzy
+7

Referensi

Dokumen terkait

laporan akhir yang berjudul “APLIKASI SENSOR TPA81 SEBAGAI ALAT PENDETEKSI API PADA ROBOT PEMADAM API BERBASISKAN MIKROKONTROLER ATMEGA 8535 ”. Laporanakhir ini

Motor DC (FAN) merupakan keluaran atau output yang digunakan dalam alat Kontrol Pendingin Ruangan (FAN) dengan logika fuzzy menggunakan ATmega 8535, LM 35 Dan PIR ini,

Dalam penelitian ini dibuatlah teknologi otomatisasi menggunakan logika fuzzy berbasis mikrokontroler, untuk sistem pendeteksi kondisi air dan ketinggian air serta sistem untuk

Implementasi Robot Pembersi Lantai Dengan Pengendali Smartphone.. Menggunakan

Pada tahun 2017 telah dilakukan sebuah penelitian oleh Firadus et.al yaitu perancangan robot pemotong rumput otomatis dengan menggunakan logika Fuzzy metode mamdani

Dari hasil pengujian diperoleh bahwa kendali logika fuzzy yang diaplikasikan pada robot IPBD dapat menjaga keseimbangan robot dengan osilasi pada sudut -2 hingga 2

Adapun manfaat yang dapat diambil dari pembuatan robot becak berbasis GPS menggunakan mikrokontroller Atmega8535 ini adalah :. Digunakan sebagai bahan media pembelajaran di

Sistem pengatur kecepatan pada robot mobile ini menggunakan mikrokontroler ATMega 328 sebagai kontroler, modul sensor ultrasonik HC- SR04 sebagai pendeteksi jarak,