18 HIGH atau lima Volt jika mendeteksi. Kemudian dt-proto arduino pi-Shield akan
mengubah level tegangan sehingga dapat diolah oleh Raspberry pi 3.
Gambar 3.10. DT-Proto Arduino Pi Shield ke Sensor bola.
3.2 Perancangan Perangkat Lunak Software
3.2.1 Perancangan Perangkat Lunak Secara Umum
Dalam perancangan software ini akan dijelaskan bagaimana flowchart atau diagram alir dari keseluruhan program pengendali yang akan dibuat. Robot akan melakukan
inisialisasi untuk malakukan komunikasi dengan coach computer lewat jaringan wireless, menerima serta mengolah data yang diterima, dan pengambilan keputusan berdasarkan
data yang diterima. Gambar 3.11 merupakan gambar dari flow chart software keseluruhan robot pada
penelitian ini. Robot akan melakukan inisialisasi saat pertama kali dihidupkan. Kemudian robot akan menunggu koneksi dari coach computer. Setelah mendapatkan koneksi robot
akan menerima data yang dikirim oleh coach computer berdasarkan kode protokol yang dibuat. Eksekusi data untuk menentukan keputusan dari segala kondisi data uyang
diterima. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Gambar 3.11. Diagram Alir Perancangan Perangkat Lunak.
Gambar 3.12 merupakan Flowchart merupakan dari fungsi eksekusi. Robot akan memeriksa mode yang dikirim dan mengeksekusi menurut mode yang diterima. Jika robot
berada dala, mode bersedia maka robot akan menuju target yang ditunjuk oleh coach computer. Jika robot dalam mode lainnya maka robot akan memeriksa apakah robot
membawa bola atau tidak dan akan memilih berdasarkan keadaan bola.
START
Inisialisasi
Terhubung?
STOP Selesai
Eksekusi Data
Ya Ya
Tidak Tidak
Terima Data
20
Gambar 3.12. Flowchart Fungsi Eksekusi.
Gambar 3.13. Flowchart Fungsi Menuju Target.
Eksekusi
Membawa Bola?
Rebut Bola
Menuju gawang
Pos. Bersedia?
Menuju Target
Return
Tidak
Tidak Ya
Ya
Menuju Target Olah
Data
Xrobot Xtarget
PWMKiri PWMKanan
PWMKiri PWMKanan
Tidak Ya
Return PWMKiri =
PWMKanan = 0
PWMKiri= PWMKanan
= 0 Sampai?
A A
Tidak Ya
21 Gambar 3.13. merupakan flowchart yang menjelaskan fungsi menuju target. Dalam
fungsi ini robot akan memanggil fungsi olah data untuk mendapatkan dan memeriksa nilai posisi x robot dan posisi x target dengan cara membandingkannya. Jika posisi x robot lebih
besar dari posisi x target berarti target berada diposisi yang lebih kanan dibanding robot. Maka robot akan bergerak kekanan dengan cara membuat PWMkanan lebih besar
dibanding PWMkiri. Begitu juga sebaliknya. Robot akan memeriksa apakah telah sampai dengan tujuan yang ditetapkan. Jika belum maka robot akan memberikan nilai pwm kanan
sama dengan pwm kiri dengan kata lain robot akan bergerak lurus. Dan jika telah sampai maka robot akan berhenti dengan cara menghentikan kedua motor penggeraknya.
Gambar 3.14. Flowchart Fungsi Rebut Bola. Gambar 3.14. merupakan gambar flowchart dari fungsi rebut bola. Dalam fungsi ini
robot akan memanggil fungsi olah data untuk mendapatkan dan memeriksa nilai posisi x robot dan posisi x bola dengan cara membandingkannya. Jika posisi x robot lebih besar
dari posisi x bola berarti bola berada diposisi yang lebih kanan dibanding robot. Maka robot akan bergerak kekanan dengan cara membuat PWMkanan lebih besar dibanding
PWMkiri. Begitu juga sebaliknya. Robot akan memeriksa apakah telah sampai dengan tujuan yang ditetapkan. Jika belum maka robot akan memberikan nilai pwm kanan sama
dengan pwm kiri dengan kata lain robot akan bergerak lurus. Dan jika telah sampai maka robot akan berhenti dengan cara menghentikan kedua motor penggeraknya.
Rebut Bola Olah
Data
Xrobot Xbola
PWMKiri PWMKanan
PWMKiri PWMKanan
Tidak Ya
A
Return PWMKiri =
PWMKanan = 0
PWMKiri= PWMKanan
= 0 Sampai?
A
Tidak Ya
22
Gambar 3.15. Flowchart Fungsi Menuju Gawang.
Gambar 3.16. Flowchart Fungsi Menghindar. Gambar 3.15. merupakan gambar flowchart dari fungsi menuju gawang. Data akan
diolahh untuk mendapatkan data selisih sudut danjarak terhadap gawang. Robot akan memeriksa nilai posisi x robot dan posisi x target dengan cara membandingkannya. Jika
posisi x robot lebih besar dari posisi x target berarti target berada diposisi yang lebih kanan dibanding robot. Maka robot akan bergerak kekanan dengan cara membuat PWMkanan
lebih besar dibanding PWMkiri. Begitu juga sebaliknya. Robot akan memeriksa apakah
Menuju Gawang
Olah Data
Xrobot Xgawang
PWMKiri PWMKanan
PWMKiri PWMKanan
Return Tabrak
musuh?
Tidak Ya
Menghindar
Tidak Ya
Sampai titik
tembak?
Tidak Ya
Tendang On
A B
Tendang Off
PWMKiri = PWMKanan
= 0 PWMKiri=
PWMKanan = 0
Sampai?
A
Tidak Ya
B
Menghindar
Xrobot Xmusuh
PWMKiri PWMKanan
PWMKiri PWMKanan
Return
Tidak Ya
23 telah mencapai titik tembak, yaitu 30 cm dari gawang lawan maka robot akan
mengaktifkan mekanisme tendangan. Gambar 3.16. fungsi menghindar dalam fungsi ini akan memeriksa data posisi xrobot
dan xmusuh yang akan mempresentasikan apakah musuh berada di kiri atau di kanan dari robot. Data tersebut akan digunakan untuk membuat keputusan kemana robot harus
menghindar.
Gambar 3.17. Flowchart Fungsi Olah Data. Gambar 3.17 adalah fungsi olah data. Fungsi ini merupakan fungsi dimana data yang
diterima akan diolah dan diubah menjadi error sudut dan juga jarak robot dan target. Pengubahan menggunakan teorema pythagoras dan persamaan trigonometri yaitu pada
persaman 2.1, 2.2 dan 2.3 untuk mendapatkan nilai r yaitu jarak antara robot dan gawang lawan.
c
2
=a
2
+b
2
2.3
r
2
=x
2
+y
2
r =
√
x
2
+ y
2
Olah Data
Return r dan Es
X1-x=x Y1-x=y
r
2
=x
2
+y
2
r = ?
Es=arc tan yx
24
3.2.2 Perancangan Perangkat Lunak Komunikasi