• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN SISTEM"

Copied!
23
0
0

Teks penuh

(1)

17

BAB III

PERANCANGAN SISTEM

Pada bab ini akan dijelaskan mengenai perancangan alat yang telah dibuat yang meliputi perancangan peta labirin, perancangan mekanik robot, perancangan perangkat keras robot, dan perancangan perangkat lunak dari kedua algoritma pada robot.

3.1. Gambaran Sistem

Sistem yang direalisasikan pada skripsi ini adalah sebuah sistem yang berfungsi untuk mengendalikan sebuah robot micromouse. Sistem ini dirancang dan dibuat dengan tujuan agar suatu algoritma pencarian jalur terpendek dapat diimplementasikan ke dalamnya. Sistem ini memerlukan bantuan dari beberapa sensor untuk dapat bekerja dalam merespon segala hal yang diperlukan oleh algoritma pencarian jalur terpendek tersebut. Dengan demikian, sistem ini mampu mengendalikan robot micromouse untuk dapat menyelesaikan suatu permasalahan yang ada di dalam sebuah peta labirin. Blok diagram sistem dapat dilihat pada Gambar 3.1.

(2)

18

Secara umum, sistem yang dirancang terdiri dari kontrol utama, kontrol aktuator, elektronik, aktuator, memori, dan sumber daya listrik.

1. Kontrol Utama

Kontrol utama dalam blok diagram sistem di atas adalah sebuah mikrokontroler ATMega 328.

2. Kontrol Aktuator

Kontrol aktuator dalam blok diagram sistem di atas adalah driver motor TB6612FNG.

3. Elektronik

Pada bagian ini terdapat beberapa macam perangkat keras elektronik beserta sensor – sensor yang digunakan, diantaranya : a. Sensor Dinding – LED & Photodiode (4 buah)

b. Kompas Digital HMC5983L c. Rotary Encoder

d. MUX 8 to 1 74HC4051 e. Switch - ON/OFF

f. Switch - User Interface (3 buah) 4. Aktuator

Aktuator merupakan suatu penggerak pada robot. Dalam blok diagram sistem di atas, terdapat 2 motor DC Pololu Micro Metal Gearmotors yang digunakan sebagai alat penggerak robot.

5. Memori

Memori sangat diperlukan untuk dapat menyimpan segala informasi penting yang dibutuhkan oleh algoritma pencarian jalur terpendek. Memori yang digunakan adalah EEPROM AT24C512. 6. Sumber Daya Listrik

Sumber daya listrik pada robot dibagi menjadi dua bagian dimana masing – masing menggunakan baterai lithium polymer 7, 4 V. Baterai pertama digunakan sebagai sumber daya listrik pada mikrokontroler, sensor dinding, kompas digital, rotary encoder, MUX 8 to 1, dan EEPROM. Sedangkan baterai kedua digunakan sebagai sumber daya listrik pada driver motor dan 2 motor DC.

(3)

19

3.2. Perancangan Peta Labirin

Peta labirin yang dibuat pada skripsi ini didasarkan pada perancangan serta peraturan yang ditetapkan di dalam kompetisi micromouse yang telah ada sejak dahulu [7]. Perancangan peta labirin dapat dilihat pada Gambar 3.2.

Gambar 3.2. Rancangan Peta Labirin 10 x 10

Peta labirin memiliki bentuk persegi yang disusun oleh banyak sel dengan susunan a x a dimana a adalah jumlah sel untuk setiap sisi pada peta labirin. Ukuran sel, ketebalan serta tinggi dinding labirin akan disesuaikan dengan ukuran pada peraturan yang telah ada. Masing – masing sel peta labirin memiliki ukuran

(4)

20

18 cm (p) x 18 cm (l), namun sedikit terpotong ukurannya oleh dinding labirin sehingga ruang terbuka pada tiap sel memiliki ukuran 16,8 cm (p) x 16,8 cm (l). Dinding labirin memiliki ketinggian 5 cm dan ketebalan 1,2 cm. Lantai labirin juga memiliki ketebalan yang sama dengan dinding labirin yaitu 1,2 cm. Penghubung antara dinding labirin berupa tiang dengan ukuran 1,2 cm (p) x 1,2 cm (l) x 5 cm (t) yang dinamakan sebagai pos. Berdasarkan peraturan yang ada, peta labirin seharusnya disusun dengan susunan sel 16 x 16 dengan total 256 sel. Namun pada skripsi ini, peta labirin yang diterapkan memiliki susunan sel 10 x 10 dengan total 100 sel sehingga secara keseluruhan memiliki ukuran dimensi 181,2 cm (p) x 181,2 cm (l) x 6,2 cm (t).

Gambar 3.3. Dinding Adjustable

Peta labirin membutuhkan tiang – tiang pos sebagai penghubung antar dinding labirin sehingga peletakan dinding labirin dapat diatur sesuai dengan

(5)

21

kehendak atau bisa dikatakan sebagai dinding adjustable. Bentuk rancangan dinding labirin dan pos dapat dilihat pada Gambar 3.3. Dengan demikian, peta labirin dapat disusun ulang menjadi perfect maze ataupun imperfect maze.

Gambar 3.4. Posisi Start dan Finish

Untuk posisi start ditempatkan pada salah satu sudut pada peta labirin. Masing – masing posisi start tersusun dengan 3 dinding penghalang mengitari sel sehingga hanya ada 1 jalur awal. Kemudian untuk posisi finish ditempatkan pada sebuah ruangan yang terdiri dari 2 x 2 sel tepat pada tengah – tengah peta labirin dengan 1 jalur masuk / keluar. Gambaran mengenai posisi start dan finish pada peta labirin dapat dilihat pada Gambar 3.4.

Ada 3 macam variasi bentuk peta labirin yang dapat digunakan sebagai tempat uji coba robot micromouse pada skripsi ini. Variasi bentuk peta labirin tersebut dirancang melalui program simulator yang dinamakan “Micro Mouse Maze Editor and Simulator”. Bentuk – bentuk variasi peta labirin tersebut dapat

dilihat pada Gambar 3.5.

(6)

22

Berikut adalah pembagian tingkat kesulitan pada peta labirin berdasarkan dari ketiga bentuk variasi peta labirin yang telah dirancang, yaitu :

 Variasi 1  tingkat kesulitan rendah  Variasi 2  tingkat kesulitan sedang  Variasi 3  tingkat kesulitan tinggi

Variasi pertama memiliki tingkat kesulitan rendah karena tidak memiliki jalur sirkuler dan hanya memiliki sedikit percabangan. Variasi kedua memiliki tingkat kesulitan sedang karena ada jalur sirkuler dan memiliki percabangan yang cukup banyak. Variasi ketiga memiliki tingkat kesulitan tinggi karena ada jalur sirkuler dan memiliki percabangan yang sangat banyak.

Pada skripsi ini, papan kayu yang digunakan untuk membuat lantai dasar pada peta labirin adalah papan kayu Medium Density Fibreboard (MDF) karena memiliki permukaan yang sangat halus dan rata, serta sangat kuat dan kokoh untuk digunakan sebagai tempat uji coba robot. Dengan demikian robot dapat berjalan dengan lancar tanpa adanya hambatan gerak pada kedua roda robot. Sedangkan dinding labirin dan pos dibuat menggunakan bahan kayu plywood

dimana cukup ringan dan kuat.Untuk pewarnaan cat pada peta labirin, lantai sel diberi warna hitam agar menyerap cahaya dan dinding labirin diberi warna putih agar memantulkan cahaya. Dengan demikian cahaya hanya dapat dipantulkan melalui dinding labirin dan tidak terpengaruh olah pantulan – pantulan sinar cahaya lain melalui lantai sel. Untuk bagian atap dinding sel dan pos diberi warna merah. Bentuk realisasi peta labirin dapat dilihat pada Gambar 3.6.

(7)

23

3.3. Perancangan Mekanik Robot

Pada skripsi ini, mekanik pada robot dirancang sekecil mungkin namun kuat dan kokoh. Dimensi robot disesuaikan terhadap kapasitas ruang gerak yang ada di dalam setiap sel pada peta labirin. Seperti yang diketahui bahwa ukuran tiap sel adalah 16,8 cm (p) x 16,8 cm (l) sehingga ukuran dimensi robot harus lebih kecil daripada ukuran tersebut. Ukuran dimensi yang semakin kecil dapat mengurangi resiko bertabrakan dengan dinding – dinding sel. Maka dari itu, pada skripsi ini robot memiliki dimensi sebesar 12 cm (p) x 12 cm (l).

(8)

24

Body robot dibentuk menggunakan kerangka yang terbuat dari bahan plastik

acrylic dengan ketebalan 3 mm dimana cukup kuat dan cukup ringan. Kerangka tersebut berbentuk lingkaran dengan diameter 12 cm. Ada 2 lapis kerangka yang disusun untuk membentuk body robot, yaitu kerangka bawah dan kerangka atas dimana tampak pada Gambar 3.7.

Gambar 3.8. Bentuk Realisasi Robot Micromouse

Gambar 3.8 menampilkan robot yang telah direalisasikan pada skripsi ini. Robot dilengkapi 4 buah roda (aktif dan pasif) dan 2 buah motor DC dimana masing – masing terpasang pada bagian tepi kerangka tepat pada garis perpotongan kerangka. Dengan demikian robot akan memiliki pergerakan rotasi yang menetap pada tempatnya tanpa mengubah posisi. Motor DC yang dipakai adalah Pololu Micro Metal Gearmotors dimana sudah memiliki gearbox yang terbuat dari metal sehingga kuat untuk digunakan pada torsi yang tinggi. Tabel 3.1 menunjukkan spesifikasi dari mekanik robot yang telah dibuat, sedangkan Tabel 3.2 menunjukkan spesifikasi motor DC yang digunakan pada robot.

(9)

25

Tabel 3.1. Tabel Keterangan Mekanik Robot

Dimensi 12 cm (p) x 12 cm (l) x 13 cm (t)

Berat ± 1 kg

Roda 4 roda (2 aktif, 2 pasif) HARDWARE

Tabel 3.2. Tabel Spesifikasi Pololu Micro Metal Gearmotors

Rasio Gear 30 : 1

Kecepatan Free-run @ 6V 1000 rpm

Arus Free-run @ 6V 120 mA

Arus Beban Maksimal @ 6V 1600 mA

Torsi Beban Maksimal @ 6V 0,25 kg

3.4. Perancangan Perangkat Keras

Pada bagian ini akan dijelaskan mengenai perancangan perangkat keras pada robot. Perancangan perangkat keras tersebut meliputi sistem kontrol dan perangkat keras elektronik.

3.4.1. Sistem Kontrol

Sistem kontrol pada robot hanya terdiri dari satu bagian utama, yaitu kontrol utama. Di sini kontrol utama memiliki peran penting dalam melakukan pengontrolan terhadap keseluruhan sistem pada robot, seperti sistem navigasi dan sistem gerak.

Dalam sistem navigasi robot, kontrol utama menerima segala data keluaran dari sensor dinding, kompas digital dan rotary encoder. Data yang diterima oleh kontrol utama berupa data mentah baik analog maupun digital. Data – data mentah tersebut diolah sedemikian rupa menjadi suatu data penting yang dapat digunakan oleh robot sebagai penunjuk jalan.

Dalam sistem gerak robot, kontrol utama mengirimkan perintah – perintah khusus terhadap kontrol aktuator sehingga dapat mengontrol segala pergerakan motor DC. Kecepatan motor dan arah perputaran motor diatur berdasarkan sistem navigasi robot.

(10)

26

3.4.2. Perangkat Keras Elektronik

Perangkat keras elektronik yang digunakan oleh robot beserta penjelasannya adalah sebagai berikut :

1. Arduino UNO (Mikrokontroler Tipe ATMega328)

Gambar 3.9. Kontroler Arduino UNO

Gambar 3.9 menunjukkan kontroler yang digunakan oleh robot, yaitu Arduino UNO dimana merupakan sebuah mikrokontroler dengan tipe chip ATMega328 [8]. Kontroler ini sudah memiliki regulator tegangan yang menghasilkan tegangan sebesar 3,3 dan 5 VDC dimana disuplai dengan tegangan masukan sekitar 7 – 12 VDC. Kontroler memiliki 14 pin I/O digital dimana terdapat 6 pin analog dan 6 pin PWM. Kontroler memliki 2 buah pin interrupt external yang berfungsi untuk melakukan proses interupsi program apabila ada perintah interupsi dari perangkat luar. Kontroler mampu berkomunikasi dengan perangkat lain menggunakan jalur komunikasi yang bermacam – macam, yaitu jalur komunikasi serial (TX dan RX), jalur komunikasi I2C (SDA dan SCL) dan jalur komunikasi SPI. Kontroler juga memiliki flash memory sebesar 32 KB, SRAM sebesar 2 KB, EEPROM sebesar 1KB, dan kecepatan clock

(11)

27

Gambar 3.10. Konfigurasi Pin Arduino UNO

Kontroler dapat diprogram dengan menggunakan bahasa C dan mudah untuk dipahami. Kontroler sudah dilengkapi dengan bootloader

yang memperbolehkan pengguna untuk meng-upload kode program tanpa menggunakan perangkat pemrograman dari luar. Protokol yang digunakan untuk berkomunikasi sama dengan protokol yang digunakan pada STK500. Gambar 3.10 menunjukkan konfigurasi pin pada Arduino UNO, sedangkan Tabel 3.3 menunjukkan kegunaan pin pada Arduino UNO.

Tabel 3.3. Kegunaan Pin Arduino UNO

PIN MODE KEGUNAAN

A0 OUTPUT Selektor MUX Bit 0 A1 OUTPUT Selektor MUX Bit 1 A2 OUTPUT Selektor MUX Bit 2 A3 INPUT Ouput MUX A4 SDA Kompas Digital (Data) A5 SCL Kompas Digital (Clock)

0 - -

1 OUTPUT LED RGB Hijau

(12)

28

Tabel 3.3. Kegunaan Pin Arduino UNO (lanjutan)

PIN MODE KEGUNAAN

2 OUTPUT LED RGB Biru 3 INPUT Output Rotary Encoder

4 OUTPUT LED RGB Merah 5 INPUT Switch 1 6 INPUT Switch 2 7 INPUT Switch 3 8 OUTPUT Driver Motor Input 1 A 9 OUTPUT Driver Motor Input 2 A 10 OUTPUT Driver Motor PWM A 11 OUTPUT Driver Motor PWM B 12 OUTPUT Driver Motor Input 1 B 13 OUTPUT Driver Motor Input 2 B

2. Sensor Dinding

Sensor dinding yang digunakan oleh robot adalah sensor cahaya yang terdiri dari photodioda (receiver) dan lampu LED (transmitter). Photodioda akan mengalami perubahan resistansi pada saat menerima intensitas cahaya tertentu dan akan mengalirkan arus listrik scara forward

sebagaimana dioda pada umumnya. Sensor cahaya ini disuplai dengan tegangan 5 VDC dan bagian keluaran pada sensor dihubungkan dengan masukan pada analog multiplexer (MUX 8 to 1). Hasil keluaran yang dihasilkan oleh sensor cahaya berupa tegangan analog yang berkisar antara 0 – 5 VDC. Gambar 3.11 menunjukkan rangkaian dari sensor cahaya.

(13)

29

3. MUX 8 to 1

MUX 8 to 1 merupakan sebuah multiplekser yang mampu menggabungkan 8 jalur data menjadi 1 jalur data dengan memanfaatkan 3-bit selektor sebagai penyeleksi jalur data yang akan digunakan. Di sini multiplekser yang digunakan adalah analog multiplexer 74HC4051 dimana data yang akan digabungkan berupa data analog [9]. Data analog yang akan digabungkan menjadi 1 adalah data analog dari keluaran sensor cahaya. Gambar 3.12 menunjukkan konfigurasi pin pada 74HC4051.

Gambar 3.12. Konfigurasi Pin 74HC4051

Hasil keluaran dari 74HC4051 sama dengan hasil keluaran dari sensor cahaya dimana berupa tegangan analog yang berkisar dari 0 – 5 VDC. Tegangan analog tersebut akan dikonversi menjadi nilai digital melalui ADC pada kontroler dengan resolusi 10-bit. Dengan demikian, nilai digital keluaran sensor akan berkisar antara 0 sampai 1024.

4. Kompas Digital

Kompas digital yang digunakan oleh adalah sensor magnet HMC5983L yang ditunjukkan pada Gambar 3.13. Sensor ini bekerja dengan cara memanfaatkan gaya magnet pada bumi untuk menentukan suatu arah tertentu sehingga dapat digunakan sebagai navigasi robot. Pada umumnya sensor ini memilik 4 pin utama, yaitu SDA, SCL, VCC, GND. Sensor ini bekerja pada tegangan 3,3 atau 5 VDC sesuai dengan kebutuhan [10]. Pin SDA dan SCL pada sensor akan dihubungkan pada jalur I2C kontroler.

(14)

30

Gambar 3.13. Sensor Magnet HMC5983L

Data yang dihasilkan oleh sensor ini berupa data digital dari 3 buah sumbu (X, Y, Z). Masing – masing sumbu membutuhkan 2 buah register sebagai penyimpanan data MSB dan LSB dimana masing – masing register berukuran 1 byte. Data pada MSB dan LSB yang dihasilkan pada masing – masing sumbu kemudian digabungkan menjadi satu register berukuran 1 byte saja. Data digital tersebut akan dikirim melalui jalur data (SDA) pada I2C.

Untuk sistem navigasi robot, data yang diperlukan hanyalah data dari sumbu X dan Y saja. Data pada sumbu Z tidak diperlukan karena robot hanya akan berjalan datar tanpa adanya kemiringan tertentu yang membuat data pada sumbu Z berubah. Data pada sumbu X dan Y akan dikonversi menjadi nilai sudut dalam satuan derajat dengan memanfaatkan presamaan berikut. 𝑠𝑢𝑑𝑢𝑡 = 𝑡𝑎𝑛−1𝑌 𝑋× 180° 𝜋 5. Rotary Encoder

Rotary encoder yang digunakan oleh robot memiliki sensor optik yang terdiri dari phototransistor sebagai pengirim sinyal (receiver) dan

Infrared LED sebagai penerima sinyal (transmitter). Roda piringan yang digunakan adalah sebuah scroll wheel pada mouse komputer dengan diameter roda sebesar 2,5 cm dan memiliki jumlah lubang sebanyak 48

(15)

31

lubang. Gambar 3.14 menunjukkan roda piringan yang digunakan pada

rotary encoder.

Gambar 3.14. Roda Piringan Rotary Encoder

Agar hasil keluaran dari rotary encoder berbentuk deretan pulsa kotak, dibutuhkan suatu rangkaian khusus yang terdiri dari beberapa transistor. Di sini transistor hanya bertindak sebagai saklar On / Off sehingga hanya terdapat 2 kondisi yaitu Low (0 V) atau High (5 V). Hasil keluaran pada rangkaian rotary encoder akan dihubungkan dengan pin

interrupt external (INT1) pada kontroler.

Gambar 3.15. Rangkaian Rotary Encoder

Gambar 3.15 menunjukkan rangkaian yang digunakan pada rotary encoder.Dengan memanfaatkan fungsi interrupt external, maka deretan pulsa hasil keluaran dari rangkaian rotary encoder dapat dibaca. Ada 2 cara yang dapat dilakukan untuk menghitung deretan pulsa tersebut, yaitu

(16)

32

dengan membaca perubahan sinyal low-to-high atau dengan membaca sinyal high-to-low.

Untuk memaksimalkan resolusi penghitungan, maka diperlukan penggabungan antara kedua cara penghitungan tersebut. Apabila roda piringan memiliki jumlah lubang sebanyak 48 lubang, maka dalam satu putaran roda akan dihasilkan 96 hitungan. Di sini roda piringan memiliki keliling sebesar 7,85 cm. Dengan demikian, 1 hitungan yang dihasilkan oleh putaran roda akan memiliki nilai jarak tempuh sebesar 0,082 cm.

6. Driver Motor

Driver motor yang digunakan untuk mengontrol motor DC adalah dual TB6612FNG [11]. Driver motor ini mampu mengontrol 2 buah motor DC sekaligus secara bersamaan. Driver motor ini mampu menyediakan kebutuhan arus pada masing – masing motor DC sebesar 1,2 A (atau sampai 3,2 A untuk waktu singkat). Kecepatan masing – masing motor DC dikontrol melalui sinyal masukan Pulse Width Module (PWM) dari kontroler. Suplai logika (VCC) dapat dikisarkan pada tegangan sebesar 2,7 – 5,5 VDC, sedangkan suplai motor dibatasi hingga mencapai tegangan maksimal sebesar 15 VDC. Sistem kontrol yang diterapkan pada driver motor adalah sistem H-Bridge.

Gambar 3.16. Driver Motor TB6612FNG

Gambar 3.16 menunjukkan driver motor TB6612FNG yang digunakan dimana memiliki suatu fungsi kontrol khusus pada sistem H-Bridge sehingga dapat bekerja untuk mengontrol segala macam

(17)

33

pergerakan motor. Fungsi kontrol tersebut menyediakan beberapa jenis mode yang dapat digunakan dalam mengontrol pergerakan motor. Mode – mode tersebut dapat diaktifkan dengan memberikan konfigurasi logika input High dan Low pada driver motor. Tabel 3.4 menunjukkan fungsi kontrol H-Bridge pada TB6612FNG.

Tabel 3.4. Fungsi Kontrol H-Bridge pada TB6612FNG

Mode CW digunakan untuk mengontrol otor agar berputar searah jarum jam. Sedangkan mode CCW digunakan untuk mengontrol motor agar berputar berlawanan arah jarum jam. Mode Short Brake digunakan untuk mengontrol motor agar melakukan rem dengan kondisi motor masih menyala. Mode Stop digunakan untuk mengontrol motor agar berhenti dengan kondisi motor mati. Mode Standby digunakan untuk mengontrol motor agar berada dalam kondisi siaga dan siap untuk dijalankan kapanpun. Dengan memanfaatkan beberapa mode di atas, motor dapat dikontrol secara dinamis sehingga mampu menggiring robot menelusuri peta labirin yang berliku – liku.

7. EEPROM

EEPROM (Electrically Erasable Programmable Read-Only Memory) merupakan sebuah chip memori yang digunakan untuk menyimpan sejumlah konfigurasi data dimana data yang disimpan tidak akan hilang meskipun sumber daya terputus. Data pada EEPROM dapat

(18)

34

dihapus dan ditulis kembali per blok data tergantung alamat yang diinginkan sesuai dengan kebutuhan. Pada EEPROM, proses erase-rewrite sangat terbatas sehingga perlu berhati – hati dalam menggunakannya.

Gambar 3.17. Konfigurasi Pin EEPROM AT24C512

Pada skripsi ini, robot menggunakan EEPROM tipe AT24C512 dimana memiliki kapasitas penyimpanan sebesar 524,288 bit data atau 65,536 byte data. AT24C512 bekerja pada tegangan sebesar 1,8 – 3,6 VDC dan memiliki batas erase-rewrite sebesar 100.000 siklus [12]. Data yang tersimpan pada AT24C512 dapat diakses melalui jalur komunikasi data pada I2C (SDA). Gambar 3.17 menujukkan konfigurasi pin EEPROM AT24C512.

3.5. Perancangan Perangkat Lunak

Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak pada robot. Di sini ada 3 buah flowchart yang akan disajikan dimana menggambarkan alur jalannya program yang diterapkan pada robot. Flowchart

pertama menggambarkan alur program yang paling utama. Flowchart kedua menggambarkan alur program dari algoritma flood-fill dalam pencarian jalur terpendek. Sedangkan Flowchart ketiga menggambarkan alur program dari algoritma backtracking dalam pencarian jalur terpendek.

3.5.1. Flowchart Program Utama

Program utama merupakan bagian paling utama dari keseluruhan program yang digunakan untuk mengaktifkan fungsi kalibrasi sensor, fungsi seleksi

(19)

35

algoritma dan fungsi standby-for-start untuk mulai bersiap – siap menjalankan proses pencarian jalur terpendek. Flowchart dari alur program utama dapat dilihat pada Gambar 3.18.

START Apakah ada penekanan dari Switch 1? Apakah ada penekanan dari Switch 3? Apakah ada penekanan dari Switch 2? Jalankan fungsi dari aksi penekanan Switch 1 Tidak Tidak Tidak Jalankan fungsi dari aksi penekanan Switch 2

Jalankan fungsi dari aksi penekanan Switch 3 Ya Ya Ya Apakah penekanan

lebih dari 2 detik?

Apakah penekanan lebih dari 2 detik? Jalankan fungsi kalibrasi error Kompas Digital Jalankan fungsi kalibrasi lokasi untuk menentukan posisi Utara, Selatan, Timur dan

Barat Jalankan fungsi kalibrasi batas nilai Sensor Dinding Ya Tidak Ya Ubah Algoritma Tidak Standby-for-Start

Ada halangan pada Sensor Dinding bagian

depan? Tidak Jalankan fungsi algoritma yang dipilih hingga selesai Ya

Gambar 3.18.Flowchart Program Utama

3.5.2. Flowchart Algoritma Flood-Fill

Algoritma flood-fill merupakan algoritma pertama yang diterapkan pada robot micromouse dalam pencarian jalur terpendek. Flowchart dari alur program algoritma flood-fill dapat dilihat pada Gambar 3.19.

(20)

36

START

Bangkitkan nilai tiap sel Cek dinding sekitar

(bagian depan, samping kiri dan samping kanan )

Cek kondisi apabila nilai sel tetangga tidak ada yang 1 lebih

kecil dari nilai sel robot berada atau ditemukan jalan

buntu

Apakah kondisi terpenuhi? Bangkitkan nilai tiap

sel

Tentukan sel tujuan selanjutnya yang memiliki nilai lebih kecil dari sel robot

berada

Berjalan 1 sel menuju sel yang

dituju Apakah sudah mencapai finish? Simpan semua informasi tentang dinding labirin di dalam eeprom Simpan informasi dinding dalam suatu

array Atur mode perjalanan berangkat (start to finish) Atur mode perjalanan kembali (finish to start)

Bangkitkan nilai tiap sel

Cek dinding sekitar (bagian depan, samping kiri dan samping kanan )

Simpan informasi dinding dalam suatu

array

Cek kondisi apabila nilai sel tetangga tidak ada yang 1 lebih

kecil dari nilai sel robot berada atau ditemukan jalan

buntu

Apakah kondisi terpenuhi?

Bangkitkan nilai tiap sel

Tentukan sel tujuan selanjutnya yang memiliki nilai lebih kecil dari sel robot

berada

Berjalan 1 sel menuju sel yang

dituju Apakah sudah mencapai start? Simpan semua informasi tentang dinding labirin di dalam eeprom END Ya Ya Tidak Tidak Tidak Tidak Ya Ya Baca semua informasi tentang dinding labirin dari

eeprom

(21)

37

Berikut adalah pseudo-code yang merupakan alur program dari algoritma

flood-fill, yaitu :

START

Baca semua informasi tentang dinding labirin dari eeprom

Atur mode perjalanan berangkat Bangkitkan nilai tiap sel

WHILE belum mencapai finish DO

Cek dinding sekitar (depan, samping kiri, dan samping kanan) Simpan informasi dinding ke dalam suatu array

IF sel tujuan terhalang olah dinding dan nilai sel tetangga tidak ada yang bernilai 1 lebih kecil dari sel robot berada THEN

Bangkitkan nilai sel ENDIF

Tentukan sel tujuan selanjutnya Berjalan 1 sel menuju sel yang dituju ENDWHILE

Simpan semua informasi tentang dinding labirin ke dalam eeprom

Atur mode perjalanan kembali Bangkitkan nilai tiap sel

WHILE belum mencapai start DO

Cek dinding sekitar (depan, samping kiri, dan samping kanan) Simpan informasi dinding ke dalam suatu array

IF sel tujuan terhalang olah dinding dan nilai sel tetangga tidak ada yang bernilai 1 lebih kecil dari sel robot berada THEN

Bangkitkan nilai sel ENDIF

Tentukan sel tujuan selanjutnya Berjalan 1 sel menuju sel yang dituju ENDWHILE

Simpan semua informasi tentang dinding labirin ke dalam eeprom

(22)

38

3.5.3. Flowchart Algoritma Backtracking

Algoritma backtracking merupakan algoritma kedua yang diterapkan pada robot micromouse dalam pencarian jalur terpendek. Flowchart dari alur program algoritma bcaktracking dapat dilihat pada Gambar 3.20.

START

Apakah sudah pernah mencapai

finish? Jelajahi Peta Labirin

(Explore)

Atur mode perjalanan berangkat (start to finish)

Cek dinding sekitar dan nilai sel sekitar

Berjalan 1 sel menuju sel yang

telah ditandai dengan nilai 1 dan tidak terhalang oleh

dinding Apakah sudah

mencapai finish? Berikan nilai 1 pada

sel robot berada sebagai tanda bahwa sel tersebut

sudah pernah dilewati

Cek dinding sekitar (bagian depan, samping kiri dan samping kanan ) Apakah sudah mencapai finish? Tidak Ya Tidak Ya Ya Tidak Apakah sudah mencapai start?

Cek dinding sekitar dan nilai sel sekitar

Berjalan 1 sel menuju sel yang

telah ditandai dengan nilai 1 dan tidak terhalang oleh

dinding Atur mode perjalanan kembali (finish to start) Simpan semua informasi tentang nilai – nilai sel pada peta labirin di dalam eeprom

END Tidak

Ya Berjalan 1 sel

menuju salah satu sel yang belum pernah dilewati Apakah ditemukan jalan buntu? Ya Tidak Jalankan proses runut-balik (backtrack) menuju sel yang merupakan percabangan sebelumnya yang

masih memungkinkan ada

jalur yang belum pernah dilewati Berikan nilai 0 pada

sel tersebut

Baca semua informasi tentang nilai – nilai sel pada

peta labirin dari eeprom

Apakah jalan terbuka yang akan dituju sudah

pernah dilewati?

Ya Tidak

(23)

39

Berikut adalah pseudo-code yang merupakan alur program dari algoritma

backtracking, yaitu :

START

Baca semua informasi tentang nilai – nilai sel pada peta labirin dari eeprom

IF belum pernah mencapai finish THEN Jelajahi peta labirin

WHILE belum mencapai finish DO

Cek dinding sekitar (depan, samping kiri, dan samping kanan)

IF ditemukan jalan buntu atau jalan terbuka yang akan dituju sudah pernah dilewati THEN

Berikan nilai 0 pada sel tersebut

Jalankan proses runut-balik menuju sel percabangan sebelumnya yang masih memungkinkan ada jalur yang belum pernah dilewati ELSE

Berikan nilai 1 pada sel robot berada

Berjalan sejauh 1 sel menuju sel yang belum pernah dilewati ENDIF

ENDWHILE

Simpan semua informasi nilai – nilai sel pada peta labirin di dalam eeprom

ELSE

Atur mode perjalanan berangkat WHILE belum mencapai finish DO

Cek dinding sekitar dan nilai sel sekitar

Berjalan sejauh 1 sel menuju sel yang memiliki nilai 1 ENDWHILE

ENDIF

Atur mode perjalanan kembali WHILE belum mencapai start DO

Cek dinding sekitar dan nilai sel sekitar

Berjalan sejauh 1 sel menuju sel yang memiliki nilai 1 ENDWHILE

Gambar

Gambar 3.1. Blok Diagram Sistem
Gambar 3.2. Rancangan Peta Labirin 10 x 10
Gambar 3.3. Dinding Adjustable
Gambar 3.4. Posisi Start dan Finish
+7

Referensi

Dokumen terkait

Sistem yang dibuat digunakan untuk mengendalikan genset portabel berbahan bakar prrernrum meft YAMAWA (Gambar 1). Diagram blok sistem kendali pengasuian genset

Activity Diagram digunakan untuk mendefinisikan urutan atau pengelompokan tampilan dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah

transaksi. Masalah lainnya adalah sering terjadi kesalahan pada sistem baik saat melakukan proses pelaporan atau proses lainnya. Untuk mengatasi permasalahan sistem

Penggambaran dan aplikasi penjadwalan order berbasis websecara logika dapat dibuat dalam bentuk Diagram Context merupakan penggambaran sistem secara global, yaitu

: Untuk diagram blok model sistem lingkar terbuka pada Gambar 1... : Untuk diagram blok sistem lingkar terbuka pada

Diagram HIPO diatas menunjukkan empat proses utama dalam sistem yaitu : pertama, mengelola data master, berguna untuk input atau update data master yang nantinya

Salah satunya yaitu dengan adanya permasalahan bagaimana sebuah Robot Line Follower dapat menyelesaikan sebuah rute seperti labirin (line maze), untuk itulah dibuat

Gambar 3.2 Diagram Blok Sistem Pada diagram blok sistem ini mikrokontroler sebagai inti dari keseluruhan sistem ini, yang mengkontrol mulai dari sensor suhu dan kelembaban,