BAB III PERANCANGAN Pada bab ini akan dijelaskan mengenai perancangan dari perangkat keras, serta perangkat lunak dari algoritma robot. 3.1. Perancangan Perangkat Keras Pada bagian ini akan dijelaskan mengenai perancangan perangkat keras. Perancangan perangkat keras yang akan dijelaskan meliputi sistem kontrol, konstruksi robot, dan perangkat keras elektronik 3.1.1. Sistem Kontrol
SRF-05
Smartphone Android
Bluetooth HC-05
Mikrokontroler
Driver Motor L298
Photointerrupter
Gambar 3.1. Blok Diagram Sistem Sistem kontrol pada robot terdiri dari 2 bagian yaitu kontrol utama dan kontrol akuator. Kontrol utama bertugas untuk menciptakan keputusan bagaimana robot tersebut harus bergerak saat diinstruksikan dengan smartphone. Perintah tersebut diterjemahkan oleh 17
mikrokontroler sehingga perintah tersebut dapat diterima oleh driver motor L298, SRF-05 dan Photointerrupter. Sedangkan kontrol akuator dalam hal ini adalah driver motor, SRF-05 dan Photointerrupter. Semua perintah pergerakan tersebut diputuskan oleh kontrol utama. 1. Kontrol Utama Kontrol utama pada robot terdiri dari sebuah smartphone dan mikrokontroler. Pada smartphone akan memberikan instruksi pergerakan robot dengan menggunakan diagram alir. Data dari smartphone akan dikirimkan melalui komunikasi bluetooth. Kemudian pada mikrokontroler terdiri dari modul bluetooth yang akan menerima instruksi dari smartphone tersebut.
2. Kontrol Akuator Robot Kontrol akuator pada robot ini adalah driver motor L298, SRF-05 dan Photo interrupter. Setelah data yang dikirimkan oleh smartphone diterima oleh mikrokontroler maka mikrokontroler akan memberikan instruksi pada driver motor L298, SRF-05 dan Photo interrupter. Setelah itu robot akan berjalan sesuai dengan diagram alir yang sudah dibuat pada smartphone.
3.1.2. Konstruksi Robot Pada bagian ini akan dijelaskan mengenai perancangan konstruksi robot.
Gambar 3.2. Konstruksi robot
18
Robot ini menggunakan perpaduan bahan antara plastik dan akrelik untuk bodi sasisnya. Perpaduan bahan ini dimaksudkan agar robot memiliki bobot yang ringan sehingga memiliki keseimbangan yang baik. Robot ini dapat berputar 360 derajat. dengan 2 ban utama yang memiliki gear box dan 2 ban yang bersifat universal yang dapat berputar 360 derajat. Untuk kontrol utamanya yaitu mikrokontroler At-Mega 328 yang diletakan di atas bagian robot tersebut. Dengan tujuan tidak mengubah titik berat robot tersebut. di bagian depan terdiri dari sensor SRF05, di bagian kanan terdiri dari modul bluetooth untuk jalur komunikasi robot tersebut, di bagian dalam robot tersebut terdiri dari driver motor L298 dan Photointerrupter didalamnya. Tabel 3.1 Tabel keterangan mekanik robot HARDWARE Dimensi
(pxlxt) : 14.4x14x14 [cm]
Berat
300 [gram]
19
3.1.3. Gambar teknik robot
Gambar 3.3. Gambar teknik robot Keterangan nomer dari gambar teknik robot sebagai berikut: 1. Bluetooth HC-05. 2. SRF-05. 3. Mikrokontroler At-Mega 328. 4. Ban dan gear box. 5. Sasis robot berbahan akrelik. 6. Specer 7 cm. 7. Baterai DC 9 Volt dan driver motor L298. 8. Photointerrupter. 9. Universal ban.
20
3.1.4. Perangkat Keras Elektronik Pada bagian ini akan dijelaskan mengenai smartphone beserta sensor yang digunakan, board minimum sistem mikrokontroler At-Mega 328 dan modul bluetooth HC05. 1. Modul Sony Xperia Tipo ST21i Smartphone berbasis android merupakan salah satu piranti yang dapat digunakan sebagai kontrol robot. Dengan kecepatan proses instruksi yang cepat, smartphone dapat memberikan perintah secara real time pada robot trainer. Selain kecepatan proses instruksi, smartphone berbasis android dapat bekerja secara multitasking sehingga sangat jelas bahwa proses jalannya program lebih cepat dan ringan. Adanya OS android pada smartphone mempermudah proses pemrograman dan mengakses sensor-sensor serta fiturfitur yang ada dalam smartphone itu sendiri karena library android merupakan open source di mana library android untuk pengaksesan sensor serta fitur-fitur tersebut sudah tersedia di Google. Smartphone yang digunakan pada trainer robotika ini adalah Sony Xperia Tipo ST21i. Pada trainer robotika menggunakan smartphone ini karena alasan dimensi yang tidak terlalu besar dan spesifikasi yang memadai [7]. Spesifikasi yang dimiliki Smartphone Sony Xperia ini adalah sebagai berikut : 1.Memiliki Dimensi 103 x 57 x 13 mm dengan berat 99.4 gram. 2.Touchscreen dengan ukuran 320x 480 pixels. 3.Terdapat Wi-FI dan Bluetooth 4.Kamera 3.2 MP 5.Android OS v4.0 6.CPU 800 Mhz
2. Modul Bluetooth HC-05 Pada trainer robotika ini digunakan koneksi bluetooth sebagai sarana komunikasi satu arah. Data yang dikirimkan hanya dari smartphone menuju modul bluetooth. Modul 21
yang digunakan pada perancangan sistem ini adalah menggunakan modul bluetooth HC-05 karena modul ini tergolong umum dan mudah didapatkan di toko elektronik dan dalam penggunaannya modul ini menggunakan komunikasi serial dengan setingan baudrate yang dapat diubah dan setingan parity yang dapat diubah. Setingan antara modul bluetooth ini harus disamakan dengan setingan yang terdapat pada komunikasi serial mikrokontroler. Berikut ini susunan pin pada modul bluetooth HC-05.
Gambar 3.4. Rangkaian modul bluetooth HC-05[8] Jumlah pin yang terdapat pada modul bluetooth terdiri dari 34 pin tetapi yang digunakan pada modul ini hanya 5 pin yaitu Txd, Rxd, 3.3V, Key, dan Gnd. Pin txd berfungsi sebagai jalur data untuk mengirimkan data serial kepada perangkat yang lain. Pin rxd berfungsi sebagai jalur data untuk menerima data serial dari perangkat yang lain. Pin 3.3 V adalah pin untuk input tegangan yang dibutuhkan agar perangkat ini dapat aktif dan tegangan yang dibutuhkan untuk mengaktifkan modul ini adalah sebesar 3.3 Volt. Pin gnd berfungsi sebagai ground dari perangkat ini. Pin key yang berfungsi sebagai penentu perangkat ini apakah di set sebagai master atau sleve. Yaitu dengan memberikan logika ‘1’ pada pin ini akan membuat bluetooth akan bekerja sebagai mode master dan logika ‘0’ akan membuat modul ini bekerja sebagai mode sleve. Pada saat modul bluetooth ini bekerja sebagai mode master maka modul bluetooth ini dapat menerima data dan mengirimkan data kepada perangkat bluetooth yang lain sedangkan saat bekerja sebagai mode slave maka 22
modul bluetooth ini hanya dapat menerima data dan tidak dapat mengirim data kepada perangkat bluetooth yang lain. Pada perancangan trainer robotika modul bluetooth HC-05 bekerja sebagai mode slave.
3. Modul Mikrokontroler At-Mega 328 Mikrokontroler adalah sebuah sistem microprosesor di mana didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock, dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip yang siap pakai. Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya. Penulis menggunakan mikrokontroler tipe At-Mega 328 karena selain dapat diprogram dengan bahasa C dan banyak dijual dipasaran, mikrokontroler ini memiliki fitur untuk membuat komuniksi serial virtual. Komunikasi serial virtual memungkinkan untuk membuat jalur komunikasi serial lebih dari satu. Pada pembuatan trainer robotika ini digunakan 2 komunikasi serial yang pertama untuk komunikasi antara modul bluetooth dengan mikrokontroler kemudian komunikasi antara mikrokontroler dengan komputer. Pada saat pembuatan trainer robotika dibutuhkan komunikasi serial dengan komputer dengan tujuan untuk memastikan data yg dikirmkan oleh smartphone sesuai dengan data yang diterima oleh mikrokontroler. Setelah proses pembuatan trainer robotika selesai komunikasi serial yang digunakan hanya komunikasi serial antara modul bluetooth dengan mikrokontroler.
23
Gambar 3.5. Minimum sistem At-Mega 328
Pada robot trainer robotika menggunakan mikrokontroler At-Mega 328 sebagai prosesor pengolah data dan sebagai pengirim instruksi kepada modul yang terdapat pada robot trainer tersebut. Mikrokontroler menerima data yang berasal dari smartphone android melalui modul bluetooth dengan jalur komunikasi serial. Data yang diterima oleh mikrokontroler terdiri dari data instruksi perulangan robot, data instruksi pergerakan robot, data jarak robot tersebut berjalan dan data untuk mendeteksi rintangan. Tugas mikrokontroler di sini adalah dengan mengkonversi semua data yang diterima kemudian dari hasil konversi tersebut akan menjalankan modul yang terdapat di dalam robot trainer robotika. Robot akan berjalan seperti instruksi yang telah dibuat pada digram alir pada smartphone android.
4. Modul sensor ultrasonic SRF-05
24
Pada perancangan trainer robotika digunakan sensor ultrasonic SRF-05 dengan tujuan agar robot dapat mengetahui jarak robot dengan objek yang yang berada di depan robot. Jarak robot yang dideteksi menggunakan satuan cm (centimeter). Prinsip kerja dari pendeteksian jarak robot dalam mendeteksi objek di depan adalah sebagai beikut:
Gambar 3.6. Gambar simulasi sinyal ultrasonic
Pada saat pin trigger diberikan pulsa sebesar 10 us (microsecond) akan membuat pin trigger memancarkan gelombang kotak sebesar 40 khz. Pin echo akan menerima sinyal yang berasal dari pin trigger setelah sinyal tersebut menemukan objek yang berada di depan. Konversi dari sinyal yang diterima menjadi jarak dalam satuan cm adalah dengan menggunakan nilai di bawah ini.
Jarak cm = pulsa high /29.034/2 Persamaan 3.1 Rumus menentukan jarak cm SRF-05 1. Pulsa high adalah pulsa dalam keadaan high atau logika ‘1’ yang dibaca oleh mikrokontroler pada pin echo. 2. Nilai 29.034 adalah konstanta untuk kecepatan gelombang unltrasonic.
25
3. Nilai 2 adalah konstanta pembagi 2 untuk mendapatkan jarak aktual dalam cm saat sinyal tersebut dipantulkan akan mengakibatkan panjang gelombang 2 kali lipat oleh karena ini harus dibagi 2 untuk mendapatkan jarak aktual dalam cm.
5. Modul Photointerrupter
Photointerrupter digunakan untuk medeteksi jarak saat robot sedang berjalan dengan meletekan piringan di poros ban dan kemudian di antara piringan tersebut diletakan Photointerrupter di dalam nya. Photointerrupter terdiri dari bagian transmitter dan receiver. Transmitter terdiri dari infrared dan receiver terdiri dari phototransistor. Pada trainer robotika ini photointerrupter menggunakan metode common collector dengan menggunakan metode ini saat photointerrupter mengenai halangan akan mengakibatkan output high dan saat mengenai lubang akan membuat output low. Pada saat proses transisi dari high menuju low dengan menggunakan fitur interrupt yang terdapat pada mikrokontroler. Proses transisi tersebut dapat dihitung dalam penjumlahan dengan mode falling edge pada interrupt. Berikut ini langkah untuk mendapatkan jarak dalam cm saat robot berjalan:
Jumlah lubang = 20 lubang. Satu putaran penuh menghasilkan jarak 10 cm. Satu lubang 10/20 = 0.5 cm. Setiap lubang dalam satu transisi dari high ke low akan menghasilkan jarak 0.5 cm. Dengan mendapatkan nilai di atas dalam satu kali proses interrupt terjadi akan menghasilkan jarak 0.5 cm. Dengan cara tersebut didapatkan jarak robot saat robot berjalan
26
Gambar 3.7 Pemasangan modul Photointerrupter
3.2. Perancangan Perangkat Lunak Untuk merancang trainer robotika, penulis memfokuskan pada perancangan perangkat lunak yang terdapat pada aplikasi trainer robotika yang terdapat pada smartphone android dan perancangan perangkat lunak robot pada mikrokontroler. 3.2.1. Perancangan aplikasi diagram alir Pada perancangan aplikasi yang terdapat pada smartphone. Di dalam aplikasi tersebut akan terdiri dari enam button yang di antranya berfungsi untuk mengaktifkan koneksi bluetooth, menonaktifkan koneksi bluetooth, menghubungkan antara smartphone dengan robot, memutuskan jalur komunikasi robot, mengirim data dari smartphone menuju robot, dan menghapus layout diagram alir Kemudian Instruksi robot saat berjalan seperti instruksi untuk berjalan maju, berbelok ke kiri, berbelok ke kanan, mundur, dan saat bertemu dengan rintangan. Sebelum memberikan instruksi. User harus memberikan nilai dari 140 – 200 ke dalam textbox fungsi kecepatan untuk menset kecepatan robot saat berjalan setelah itu pengguna dapat mendrag instruksi yang akan dikerjakan robot. Pada imageview flowchart akan berubah gambar menjadi gambar instruksi yang sebelumnya dimasukan. Berikut ini gambar dari aplikasi trainer robotika yang akan terpasang pada smartphone android : Pada Gambar 3.8(a) merupakan tampilan aplikasi trainer robotika saat pertama kali dibuka gambar imageview yang berwarna hijau menandakan imageview belum terisi oleh instruksi. Pada Gambar 3.8(b) trainer robotika sudah memiliki instruksi robot terlihat dari diagram alir yang sudah terisi tetapi pada diagram alir. tetapi tidak menggunakan aspek perulangan dan percabangan. 27
Pada Gambar 3.8(c) trainer robotika memiliki intruksi robot berjalan dan memiliki instruksi perulangan sebanyak 2 kali. Pada Gambar 3.8(d) trainer robotika memiliki instruksi robot berjalan, perulangan sebanyak 2 kali dan akan mendeteksi rintangan setelah berjalan 50 cm saat pertama kali berjalan. dan akan menjalankan instruski jika bertemu rintangan dan saat tidak bertemu dengan rintangan.
Gambar 3.8(a)
Gambar 3.8(b)
Gambar 3.8(c)
Gambar 3.8. Tampilan aplikasi trainer robotika
28
Gambar 3.8(d)
Kemudian flowchart dari aplikasi trainer robotika sebagai berikut : start
Koneksikan Robot
tidak Koneksi berhasil ? ya
Masukan nilai perulangan
Tidak Sudah masukan nilai perulangan ? ya Masukan jarak, instruksi
Masukan query instruksi
Kirim Data ke Robot
End
Gambar 3.9. Diagram alir aplikasi trainer robotika 29
3.2.2. Mekanisme penggunaan trainer pembelajaran robotika Dalam menggunakan trainer robotika ini hal yang perlu disiapkan pertama kali adalah smartphone android dengan versi android honeycomb sampai jellybean untuk memasang aplikasi trainer robotika tersebut. Berikut ini langkah-langkah yang perlu dilakukan dalam menggunakan trainer robotika: 3.2.2.1. Proses koneksi robot dengan smartphone android 1. Aplikasi trainer robotika tersebut di instal terlebih dahulu dengan aplikasi berformat extension .apk. 2. Aktifkan robot dengan mengaktifkan tombol power. Kemudian pada led modul bluetooth akan berkedip dengan cepat dengan delay 200 ms (saat led pada modul bluetooth berkedip dengan cepat menandakan bluetooth belum terpairing dengan perangkat lain dan siap untuk pairing dengan perangkat bluetooth yang baru). 3. Sebelum masuk kedalam aplikasi. Aktifkan bluetooth pada perangkat smartphone. Kemudian pilih mode pencarian dan pairing modul bluetooth yang bernama HC-05. Setelah terpairing maka pada modul bluetooth led akan berkedip lebih lama dengan delay 700 ms. dan menandakan bluetooth sudah terpairing oleh perangkat bluetooth yang baru. 4. Buka aplikasi trainer robotika kemudian off kan bluetooth dengan memilih button tunggu sampai 3 detik kemudian on kan bluetooth dengan memilih button
dan
.
5. Tunggu aplikasi sekiar 5 detik agar bluetooth pada smartphone siap setelah itu dengan memilih button
. Maka smartphone dapat berkomunikasi dengan robot tersebut.
6. Aplikasi trainer robotika ini berhasil terhubung dengan robot ditandai dengan led pada Bluetooth berkedip lebih lama dengan delay 700 ms. Jika led bluetooth berkedip cepat dengan delay 200 ms menandakan bluetooth belum terhubung dengan robot. Proses 3 sampai 5 harus diulangin kembali. 30
7. Untuk off kan aplikasi tersebut dengan memilih button
maka komunikasi
smartphone dengan robot akan terputus. dan off kan fitur bluetooth dengan memilih button
.
3.2.2.2. Proses pembuataan diagram alir pada aplikasi trainer robotika 1. Saat pertama user harus menentukan kecepatan robot saat berjalan. Kecepatan robot saat berjalan dapat ditentukan dengan memberikan nilai 140 sampai dengan 200 pada textview kecepatan yang sudah disediakan. Setelah user menentukan kecepatan robot. User dapat mendrag instruksi yang akan dikerjakan robot. 2. Pada langkah kedua user dapat menentukan apakah robot akan berjalan dengan menggunakan fitur perulangan atau tidak menggunakan perulangan. Dengan menulis jumlah perulangan pada kolom dan mendrag instruksi loop maka akan tertampil simbol perulangan pada diagram alir. 3. Pada langkah ketiga user dapat menentukan langkah selanjutnya untuk memberikan instruksi dengan cara mendrag instruksi seperti robot berjalan ke kiri, kanan, stop, dan maju di dalam instruksi tersebut sudah diberikan keterangan jarak robot tersebut akan berjalan. Setelah men drag pada imageview yang sudah ditentukan maka diagram alir tersebut akan tampil gambar diagram alir yang menunjukan arah dari robot tersebut. 4. Pada langkah keempat user dapat menentukan langkah selanjutnya jika robot tersebut menemukan halangan yang dapat menghalangi robot berjalan. Robot dapat menghidar ke kiri atau ke kanan dengan mendrag if dan pada diagram alir akan bercabang menjadi dua yaitu saat bertemu halangan dan tidak bertemu halangan. Kemudian user mengisi kondisi tersebut dengan berbelok ke kiri, kanan, mundur, dan stop. 5. Setelah semua terisi akan terlihat diagram alir yang sebelumnya sudah ditentukan kemudian langkah terakhir dengan memilih button
31
maka data yang menunjukan
diagram alir tersebut dikirimkan melalui komunikasi bluetooth. dan robot akan berjalan sesuai dengan diagram alir tersebut. 6. Untuk membuat diagram alir yang baru. Diagram alir yang sebelumnya harus dihilangkan terlebih dahulu dengan memilih button
maka diagram alir sebelumnya
akan terhapus dan siap untuk membuat diagram alir yang baru.
Gambar 3.10. Tampilan Aplikasi Trainer Pembelajaran Robotika
3.2.3. Perancangan perangkat lunak Mikrokontroler Perancangan perangkat lunak yang ada pada robot merupakan pencangan perangkat mikrokontroler untuk mengakses driver motor, sensor jarak, dan photointerrupter. Tetapi sebelum mikrokontroler mengaktifkan komponen tersebut. Mikrokontroler menunggu data yang masuk melalui smartphone dengan melalui komunikasi bluetooth berikut ini akan dijelaskan flowchart dari perangkat lunak pada mikrokontroler.
32
start
Inisialisasi Mikrokontroler
Terima data Bluetooth ?
tidak ya
Cek data Query tidak Maju
tidak
tidak
Kiri ya
Robot Maju
Tidak Query Kosong ? ya
Kanan ya
Mundur ya
Robot Kiri
Robot Kanan
tidak
tidak
Halangan ya
Robot Mundur
ya Robot deteksi halangan
Gambar 3.11. Diagram alir perangkat lunak mikrokontroler
End
3.2.3.1. Proses instruksi robot melakukan perulangan Pada proses ini robot akan menjalankan instruksi sesuai dengan jumlah perulangan yang diberikan oleh smartphone. Nilai perulangan yang di instruksikan oleh smartphone akan diterima oleh mikrokontroler melalui komunikasi bluetooth. Mikrokontroler akan menjadikan nilai tersebut sebagai nilai perulangan instruksi saat robot berjalan. Berikut ini adalah flowchart dari instruksi robot melakukan perulangan :
33
start
Masukan jumlah perulangan
Jalankan instruksi Robot
Kurangi nilai perulaangan satu tidak Jumlah loop sudah 0 ? ya
End
Gambar 3.12. Diagram alir instruksi perulangan robot
3.2.3.2. Proses Instruksi Robot Berjalan Pada proses ini robot akan berjalan sesuai dengan instruksi yang diberikan oleh smartphone. Setiap instruksi yang diberikan smartphone seperti instruksi berjalan maju, kanan, kiri, mundur memiliki nilai flag yang berbeda. Saat smartphone mengirmkan data flag tersebut dan data tersebut diterima oleh mikrokontroler. Mikrokontroler kemudain akan menyeleksi data flag tersebut untuk diterjemahkan mikrokontroler menjadi data yang dikirm kepada perangkat akuator robot. Berikut ini flowchart instruksi robot berjalan
34
start
Inisialisasi Driver Motor
tidak Instruksi tersedia ? ya Masukan jarak, instruksi
Aktifkan Driver motor
tidak Jarak sudah terpenuhi ? ya Nonaktifkan Driver Motor
End
Gambar 3.13. Diagram alir instruksi robot berjalan 3.2.3.3. Proses Instruksi Robot saat Bertemu Rintangan Pada proses ini robot akan melakukan aksi jika bertemu dengan rintangan di depan robot tersebut. di dalam diagram alir akan terlihat bahwa saat menggunkan fitur ini diagram alir akan bercabang menjadi dua bagian yaitu saat robot bertemu dengan rintangan dan saat robot tidak bertemu dengan rintangan. Saat terjadi percabangan tersebut robot akan mengaktifkan sensor jarak untuk mendeteksi rintangan jika robot menemukan rintangan maka robot akan menjalankan instruksi bagian ‘ya’ dan jika tidak menemukan akan menjalankan yang bagian ‘tidak’ berikut ini adalah diagram alir pada saat proses jika robot menemukan rintangan : 35
start
Inisialisasi SRF-05
tidak Instruksi tersedia ? ya
Aktifkan SRF-05
tidak Deteksi Rintangan 2-8 cm ? ya
Nonaktifkan SRF-05
Jalankan instruksi Query ‘tidak’
Nonaktifkan SRF-05
Jalankan instruksi Query ‘ya’
End
Gambar 3.14. Diagram alir instruksi robot saat bertemu rintangan
36