bab iii perancangan -...
TRANSCRIPT
17
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
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
MikrokontrolerDriver Motor
L298
Photointerrupter
SRF-05
Bluetooth
HC-05
Smartphone
Android
18
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
19
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]
20
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.
21
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 HC-
05.
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 fitur-
fitur 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
22
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
23
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.
24
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
25
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.
26
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
27
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.
28
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(d)
Gambar 3.8. Tampilan aplikasi trainer robotika
29
Kemudian flowchart dari aplikasi trainer robotika sebagai berikut :
Gambar 3.9. Diagram alir aplikasi trainer robotika
start
Koneksi
berhasil ?
End
Koneksikan
Robot
Masukan query
instruksi
Tidak
ya
Sudah masukan
nilai perulangan ?
tidak
ya
Kirim Data ke
Robot
Masukan
nilai
perulangan
Masukan
jarak,
instruksi
30
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 dan
tunggu sampai 3 detik kemudian on kan bluetooth dengan memilih button .
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.
31
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 maka data yang menunjukan
32
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.
33
Gambar
3.11. Diagram alir perangkat lunak mikrokontroler
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 :
start
Terima data
Bluetooth ?
End
tidak
ya
Inisialisasi
Mikrokontroler
Cek data
Query
Maju Kiri MundurKanan Halangan
Robot
Maju
Robot
Kiri
Robot
Kanan
Robot
Mundur
Robot deteksi
halangan
Query
Kosong ?
Tidak
ya
tidak
ya
tidak tidak tidak tidak
ya ya ya ya
34
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
start
Jumlah loop
sudah 0 ?
Jalankan
instruksi Robot
Kurangi nilai
perulaangan satu
End
Masukan
jumlah
perulangan
tidak
ya
35
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 :
start
Inisialisasi
Driver Motor
Instruksi
tersedia ?
End
tidak
ya
Aktifkan
Driver motor
Jarak sudah
terpenuhi ?
Nonaktifkan
Driver Motor
tidak
ya
Masukan
jarak,
instruksi
36
Gambar 3.14. Diagram alir instruksi robot saat bertemu rintangan
start
Inisialisasi
SRF-05
Instruksi
tersedia ?
Aktifkan
SRF-05
Deteksi
Rintangan 2-8
cm ?
Nonaktifkan
SRF-05
Jalankan instruksi
Query ‘tidak’
Nonaktifkan
SRF-05
Jalankan instruksi
Query ‘ya’
End
tidak
ya
tidak
ya