BAB IV PERANCANGAN. 4.1 Flowchart

dokumen-dokumen yang mirip
BAB IV PERANCANGAN ALAT

BAB IV PERANCANGAN ALAT

BAB V IMPLEMENTASI DAN PENGUJIAN

Dan untuk pemrograman alat membutuhkan pendukung antara lain :

BAB IV. PERANCANGAN. Blok diagram menggambarkan cara kerja semua sistem E-dump secara keseluruhan yang terdiri dari beberapa komponen:

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB III PERANCANGAN DAN PEMBUATAN APLIKASI

BAB III PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB V. IMPLEMENTASI DAN PENGUJIAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB III ANALISIS DAN PERANCANGAN

BAB III METODE PENELITIAN. diperlukan dengan beberapa cara yang dilakukan, antara lain:

BAB III PERANCANGAN. Pada bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana. simulasi mobil automatis dirancang, diantaranya adalah :

BAB IV HASIL DAN UJI COBA

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB III ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB III METODE PENELITIAN. mengerjakan tugas akhir ini. Tahap pertama adalah pengembangan konsep

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III METODOLOGI PENELITIAN

BAB III ANALISA DAN PERANCANGAN

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB III PERANCANGAN ALAT

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB III PERANCANGAN ALAT. Pada bagian ini akan dijelaskan mengenai bagaimana alat dapat

BAB III METODE PENELITIAN

BAB III PERANCANGAN ALAT

BAB IV PEMBAHASAN. 27

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB II LANDASAN TEORI

III. METODE PENELITIAN. : Laboratorium Konversi Energi Elektrik Jurusan Teknik Elektro. Universitas Lampung

MODUL PRAKTIKUM ROBOTIKA. Program Studi Sistem Komputer STMIK STIKOM Indonesia

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB III ANALISIS MASALAH DAN RANCANGAN ALAT

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

BAB III PERANCANGAN SISTEM

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB III ANALISIS DAN PERANCANGAN

BAB III DESAIN DAN PERANCANGAN

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan

BAB IV PENGUJIAN DAN ANALISIS SISTEM. didapat suatu sistem yang dapat mengendalikan mobile robot dengan PID

BAB III METODOLOGI PERANCANGAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN Gambaran Alat

BAB IV HASIL DAN UJI COBA

Pengenalan Sensor Ultrasonic SRF05 dengan Arduino Sketch. Sensor Ultrasonic SRF05

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Proses perancangan meliputi tujuan dari sebuah penelitian yang kemudian muncul

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB IV PENGUJIAN DAN ANALISA ALAT. perancangan alat. Tujuan pengujian adalah untuk mengetahui kebenaran

BAB IV PENGUJIAN ALAT DAN ANALISA

ROBOT OMNI DIRECTIONAL STEERING BERBASIS MIKROKONTROLER. Muchamad Nur Hudi. Dyah Lestari

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. Metode penelitian yang digunakan adalah studi kepustakaan dan

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS

Media Informatika Vol. 15 No. 2 (2016) SIMULASI ROBOT LINE FOLLOWER DENGAN PROTEUS. Sudimanto

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

III. METODE PENELITIAN. Perancangan sistem dilakukan dari bulan Maret sampai Juni 2014, bertempat di

BAB II DASAR TEORI Arduino Mega 2560

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB III PERANCANGAN ALAT

Logika pemrograman sederhana

Komunikasi Serial. Menggunakan Arduino Uno MinSys

BAB III PEMBUATAN SOFTWARE

Prodi S1 Teknik Informatika, Fakultas Teknik, Universitas Telkom 1 2

BAB III PERANCANGAN ALAT. menjadi acuan dalam proses pembuatannya, sehingga kesalahan yang mungkin

BAB III PERENCANAAN DAN PERANCANGAN

BAB IV HASIL DAN UJI COBA

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

BAB III METODE PERANCANGAN DAN PEMBUATAN. Blok diagram penelitian yang dilakukan dapat dilihat pada gambar berikut.

BAB II DASAR TEORI. Gambar 1.1 Board NodeMcu

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB III ANALISIS DAN PERANCANGAN

PANDUAN PRAKTIKUM DASAR ARDUINO

Transkripsi:

BAB IV PERANCANGAN Bab ini membahas tentang perancangan sistem gerak Robo Bin, mulai dari alur kerja sistem gerak robot, perancangan alat dan sistem kendali, proses pengolahan data hingga menghasilkan output berupa gerak, perancangan hardware, tata letak alat, algoritma gerak robot, hingga perancangan software Robo Bin. 4.1 Flowchart Dalam pembuatan Robo Bin penulis membuat sebuah flowchart untuk mengetahui bagaimana sensor suara bekerja mulai dari mendeteksi suara/bunyi sebagai masukan, hingga proses pergerakan pada motor DC untuk menggerakan Roda. Diagram alur dari sistem gerak Robo Bin dapat dilihat pada gambar 4.1. 4.2 Perancangan Alat dan Sistem kendali Berikut adalah perancangan proses langkah demi langkah untuk menghasilkan output gerak pada roda Robo Bin, seperti gambar dibawah ini: Micro Controller Arduino Mega 2560 Sensor Suara LM 393 Motor DC A Driver Motor DC L298N Motor DC B Roda Karet Kiri Roda Karet Kanan Gambar 4.2 Alur Kerja Sistem Kendali Gerak Robo Bin 36

Mulai Arduino Mega TIDAK Input suara TIDAK TIDAK TIDAK Sensor Suara depan mendeteksi suara paling tinggi Sensor Suara Kanan mendeteksi suara paling tinggi Sensor Suara Belakang mendeteksi suara paling tinggi Sensor Suara Kiri mendeteksi suara paling tinggi YA YA YA YA Driver Motor DC Driver Motor DC Driver Motor DC Driver Motor DC Motor DC Kiri = HIGH; Kanan = HIGH; Motor DC Kiri = HIGH;; Kanan = LOW; Motor DC Kiri = HIGH X 2; Kanan = LOW X 2; Motor DC Kiri = LOW; Kanan = HIGH; Output Robot bergerak maju Output Robot berotasi ke kanan Output Robot balik kanan Output Robot berotasi ke kiri Selesai Gambar 4.1 Flowchart sistem gerak Robo Bin 37

Secara garis besar, cara kerja sistem ini adalah: 1. Accumulator/aki 12V memberikan energi yang diperlukan oleh motor DC. 2. Sensor suara mendeteksi frekuensi suara, kemudian sensor yang mendeteksi suara dengan frekuensi tertinggi akan mengirimkan data frekuensi kepada arduino mega. 3. Selanjutnya arduino mega melakukan pengolahan data terhadap data yang diterima untuk kemudian diubah menjadi perintah melalui program yang telah dibuat didalam arduino mega. 4. Kemudian Arduino memberikan perintah kepada driver motor DC untuk menggerakan motor DC. 5. Motor DC yang terhubung dengan roda dapat secara langsung menggerakan roda. 4.2.1 Perancangan Diagram Input Suara Frekuensi suara dideteksi oleh sensor suara kemudian dikirim lalu diproses melalui MicroController Arduino Mega 2560. Input berupa frekuensi suara Sensor suara LM393 Gambar 4.3 Diagram Input Suara 4.2.2 Perancangan Diagram Proses pengolahan Suara Terdapat 4 sensor yang menghadap ke 4 arah berbeda yaitu depan, belakang, kiri, dan kanan. Sensor yang mendapat frekuensi suara paling kuat akan mengirimkan data kepada Arduino untuk dapat diproses. Sensor suara LM393 Arduino Mega 2560 mengubah sinyal analog menjadi sinyal digital Motor Driver DC Gambar 4.4 Diagram Proses Pengolahan Data Suara/Bunyi 38

ke output. Suara/bunyi sudah diproses menjadi data digital, dan siap untuk diteruskan 4.2.3 Perancangan Diagram keluaran (Output) Gerak roda Motor DC A Motor Driver DC Motor DC B Roda Kiri Roda Kanan Gambar 4.5 Diagram Output Gerak Roda Dari hasil proses tersebut maka roda kanan atau roda kiri akan bergerak secara bersamaan atau bergantian sehingga Robo Bin dapat bergerak mendekati lokasi sumber suara. Ketika Motor driver menapat perintah dari arduino untuk melakukan pergerakan ke arah sumber suara yang berada di depan, maka motor Driver DC akan mengaktifkan gerak motor DC A dan B secara bersamaan ke arah depan sehingga roda kiri dan kanan dapat berputar ke arah depan secara bersamaan. Ketika sumber suara berada di kiri, maka motor Driver DC akan mengaktifkan gerak motor DC B ke depan dan motor DC A ke belakang sehingga roda kanan berputar ke depan dan roda kiri berputar ke belakang dan terjadi rotasi ke arah kiri. Hal sebaliknya terjadi jika sumber suara datang dari arah kanan, maka motor driver DC akan mengaktifkan gerak motor DC A ke depan dan motor DC B ke belakang sehingga roda kiri berputar kedepan dan roda kanan berputar kebelakang dan terjadi rotasi ke kanan. Jika sumber suara berada di belakang, maka akan terjadi rotasi kanan sebanyak dua kali sehingga Robo Bin dapat menghadap ke belakang. 4.3 Perancangan Hardware 39

Berikut ini merupakan bagian-bagian dari perancangan perangkat keras pada Robo Bin untuk bagian yang mencakup pada sistem kendali gerak pada Robo Bin. Dalam perancangan hardware ini, penulis menggunakan port-port PWM dari board Arduino untuk dihubungkan ke Motor Driver DC. Penggunaan portport tersebut antara lain Motor driver DC menggunakan pin PWM 4,5,6,7 dan sebuah pin Power GND. 4.3.1 Rangkaian Sistem kendali Motor DC dengan Arduino Mega 2560 Sistem kendali motor DC dengan komponen elektronik lainnya menggunakkan Arduino Mega 2560 yang berbasiskan Atmega 2560 untuk melakukan kontrol terhadap masing masing komponen, karena tipe Arduino Mega memiliki slot port ysng lebih banyak untuk dapat mengendalikan keseluruhan program dan komponen yang akan dijalankan pada Robo Bin. Gambar 4.6 Rangkaian Sistem gerak Motor DC dengan Arduino Mega 40

4.4 Rangkaian Tata Letak Alat Manajemen tata letak komponen-komponen hardware pada Robo Bin merupakan hal yang sangat penting dan dapat berakibat fatal apabila pemenmpatannya tidak sesuai. Manajemen tata letak komponen juga dilakukan untuk menghindari hal-hal yang tidak diinginkan seperti putus kabel, putus solder, dan lain-lain. 4.4.1 Tata Letak Arduino Mega Berikut tata letak Arduino Mega pada Robo Bin: Gambar 4.7 Tata letak Arduino Mega pada Robo bin (Tampak samping) Arduino diletakkan menempel pada bagian belakang karena di bagian belakang merupakan tempat paling strategis dan terjangkau oleh kabel yang terhubung pada setiap komponen Hardware. Selain itu penempatan Arduino di 41

bagian belakang juga memudahkan proses maintanance ketika terjadi masalah atau kerusakan pada komponen hardware Robo Bin. Agar tidak terlihat berantakan, maka pada bagian belakang akan diberi tutup pelindung berbahan plastik yang ringan sehingga dapat juga melindungi Arduino dari hal-hal yang tidak diinginkan. 4.4.2 Tata Letak Motor DC Berikut adalah penempatan letak Motor DC penggerak Roda Robo Bin: Gambar 4.8 Tata Letak Motor DC penggerak roda Robo Bin Motor DC diletakkan dibawah Driver Motor DC dan dekat dengan roda karena motor DC terhubung langsung dengan roda penggerak Robo Bin. Selain itu Driver motor DC diletakkan tidak jauh dibawah Arduino agar kabel yang terbentang tidak terlalu panjang, sehingga menghindari terjadinya kerusakan pada kabel. Terminal berfungsi untuk menghubungkan Motor DC dengan Accumulator / aki yang terletak pada bagian dalam Robo Bin. Aki tersebut merupakan sumber daya bagi motor DC. 42

4.5 Algoritma Gerak roda pada Robo Bin Robo Bin menggunakan 2 roda aktif yang terhubung dengan motor DC yang berfungsi sebagai penggerak. Selain itu 2 roda lainnya hanya merupakan roda bebas yang berfungsi sebagai penyeimbang. Untuk dapat bergerak maju, berotasi ke arah kiri, dan kanan mendekati sumber suara, penulis menggunakan algoritma gerak roda sebagai berikut: Tabel 4.5 Algoritma Gerak Roda pada Robo Bin Arah Gerak Robo Bin Roda kiri Roda Kanan Maju Depan Depan Rotasi kiri Belakang Depan Rotasi kanan Depan Belakang 4.5.1 Pengaturan arah gerak roda kiri dan kanan 4.5.1.1 Maju Gerakan maju dilakukan ketika sensor suara depan mendeteksi suara paling tinggi. Agar dapat bergerak maju, roda kiri dan kanan harus berputar ke arah depan secara bersamaan. Untuk mengatur gerak roda tersebut maka digunakan kode program sebagai berikut untuk perintah menggerakan roda. void forward(int waktu) { analogwrite(motorleftone, 255); analogwrite(motorlefttwo, 0); analogwrite(motorrightone, 255); analogwrite(motorrighttwo, 0); delay(waktu); } 43

Pada kode program tersebut dapat dilihat bahwa terdapat angka 255 pada motorleftone dan motorrightone. motorleftone didefinisikan sebagai motor yang menggerakan roda kiri ke arah depan, sedangkan motorrightone didefinisikan sebagai motor yang menggerakan roda kanan ke arah depan. 255 adalah nilai maksimum dari motor driver yang menjadi perintah bagi Motor DC untuk menggerakan roda dengan kecepatan maksimal. 255 adalah representasi dari 8 bit data pada motor driver, karena motor driver yang digunakan memiliki jumlah data sebanyak 8 bit. motorlefttwo digunakan untuk mendefinisikan motor yang menggerakan roda kiri ke arah belakang, sedangkan motorrighttwo didefinisikan sebagai motor yang menggerakan roda kanan ke arah belakang. Karena pada gerakan ini tidak membutuhkan gerakan roda ke arah belakang, maka pada motorrighttwo dan motorlefttwo diberi nilai 0. 4.5.1.2 Rotasi Kanan Gerakan rotasi kanan dilakukan ketika sensor suara kanan mendeteksi suara paling tinggi. Agar dapat berotasi ke kanan, roda kiri harus berputar ke arah depan dan roda kanan berputar ke arah belakang. Untuk mengatur gerak roda tersebut maka digunakan kode program sebagai berikut untuk perintah menggerakan roda. void toright(int waktu) { analogwrite(motorleftone, 255); analogwrite(motorlefttwo, 0); analogwrite(motorrightone, 0); analogwrite(motorrighttwo, 255); delay(waktu); } 44

Pada kode program tersebut dapat dilihat bahwa terdapat angka 255 pada motorleftone dan motorrighttwo. motorleftone didefinisikan sebagai motor yang menggerakan roda kiri ke arah depan, sedangkan motorrighttwo didefinisikan sebagai motor yang menggerakan roda kanan ke arah belakang. 255 adalah nilai maksimum dari motor driver yang menjadi perintah bagi Motor DC untuk menggerakan roda dengan kecepatan maksimal. 255 adalah representasi dari 8 bit data pada motor driver, karena motor driver yang digunakan memiliki jumlah data sebanyak 8 bit. motorlefttwo digunakan untuk mendefinisikan motor yang menggerakan roda kiri ke arah belakang, sedangkan motorrightone didefinisikan sebagai motor yang menggerakan roda kanan ke arah depan. Karena pada gerakan ini tidak membutuhkan gerakan roda kiri ke arah belakang dan roda kanan ke arah depan, maka pada motorrightone dan motorlefttwo diberi nilai 0. 4.5.1.2 Rotasi Kiri Gerakan rotasi kiri dilakukan ketika sensor suara kiri mendeteksi suara paling tinggi. Agar dapat berotasi ke kiri, roda kiri harus berputar ke arah belakang dan roda kanan berputar ke arah depan. Untuk mengatur gerak roda tersebut maka digunakan kode program sebagai berikut untuk perintah menggerakan roda. void toleft(int waktu) { analogwrite(motorleftone, 0); analogwrite(motorlefttwo, 255); analogwrite(motorrightone, 255); analogwrite(motorrighttwo, 0); delay(waktu); } Pada kode program tersebut dapat dilihat bahwa terdapat angka 255 pada motorlefttwo dan motorrightone. motorlefttwo didefinisikan sebagai motor 45

yang menggerakan roda kiri ke arah belakang, sedangkan motorrightone didefinisikan sebagai motor yang menggerakan roda kanan ke arah depan. 255 adalah nilai maksimum dari motor driver yang menjadi perintah bagi Motor DC untuk menggerakan roda dengan kecepatan maksimal. 255 adalah representasi dari 8 bit data pada motor driver, karena motor driver yang digunakan memiliki jumlah data sebanyak 8 bit. motorleftone digunakan untuk mendefinisikan motor yang menggerakan roda kiri ke arah depan, sedangkan motorrighttwo didefinisikan sebagai motor yang menggerakan roda kanan ke arah belakang. Karena pada gerakan ini tidak membutuhkan gerakan roda kanan ke arah belakang dan roda kiri ke arah depan, maka pada motorrighttwo dan motorleftone diberi nilai 0. 4.5.1.2 Berhenti Gerakan berhenti dilakukan ketika ping depan mendeteksi keberadaan benda yang menghalangi didepan robot. Agar dapat berhenti roda kiri dan kanan harus berhenti berputar. Untuk mengatur gerak roda tersebut maka digunakan kode program sebagai berikut untuk perintah menggerakan roda. void stops(int waktu) { analogwrite(motorleftone, 0); analogwrite(motorlefttwo, 0); analogwrite(motorrightone, 0); analogwrite(motorrighttwo, 0); delay(waktu); } 46

Pada kode program tersebut dapat dilihat bahwa terdapat angka 0 pada motorleftone, motorlefttwo, motorrighttwo, dan motorrightone. Hal ini dikarenakan pada gerakan berhenti tidak membutuhkan gerakan pada kedua roda, sehingga pada setiap motor pun diberi nilai 0 sebagai perintah untuk berhenti menggerakan roda. 4.6 Perancangan Perangkat Lunak Setelah proses rangkaian selesai dibuat, langkah selanjutnya adalah membuat perangkat lunak. Perancangan perangkat lunak bertujuan untuk mengatur kerja sistem gerak motor DC untuk menggerakan roda sehingga Robo Bin dapat bergerak maju, mundur, berotasi kiri, ataupun berotasi kanan. 4.6.1 Perancangan Software Arduino IDE Untuk menyelesaikan rangkaian alat yang telah dibuat agar bisa sesuai dengan yang kita inginkan, maka tahap selanjutnya adalah membuat bahasa pemrograman untuk diupload ke board Arduino. Adapun fungsi bahasa pemrograman yang akan digunakan adalah sebagai berikut : void setup : digunakan untuk mendifinisikan mode pin atau memulai komunikasi serial. pinmode : digunakan untuk mengatur fungsi sebuah pin sebagai INPUT atau OUTPUT. void loop : digunakan untuk fungsi yang terus menerus setelah fungsi void setup dijalankan satu kali. Serial.begin(9600) : digunakan untuk mengaktifkan fitur UART dan menginisialisasinya. Aktifkan Program Arduino lalu buat program pada sketch Arduino sebagaimana pada gambar dibawah ini lalu Save program setelah muncul done saving selanjutnya program dikompile untuk memeriksa apakah program sudah benar. Setelah program di compile dan tidak ada kesalahan maka akan tampil done compiling yang berarti program sudah siap untuk di upload. 47

Gambar 4.9 Program Arduino berhasil di Compile 48