57 BAB III
PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK
3.1.
Umum
Perancangan sistem ini merupakan tahap awal dari pembuatan sebuah software. Sebelum merancang perangkat lunak, yang perlu diketahui adalah susunan dari sistem itu sendiri (blok diagram sistem). Seperti yang tampak pada gambar 3.1 dapat diketahui bahwa keseluruhan dari sistem menggunakan sebuah mikrokontroler dan servo. Sistem dirancang dengan menentukan terlebih dahulu sistem kontroller yang dipakai, perencanaan port yang digunakan sebagai masukan dan keluaran, selanjutnya dilakukan pembuatan program utama dan subrutin-subrutinnya.
58 Gambar 3.1 Blok Diagram Sistem.
Gambar 3.2 Input Data ke Mikrokontroler
3.2.
Perencanaan dan Perangkat Lunak Berikut ini adalah perencanaan perangkat lunaknya.
3.2.1. Sistem Kontroler
59 Sistem kontroler yang direncanakan adalah menggunakan salah satu keluarga MCS-51 yaitu mikrokontroler AT89S52 dengan memori program internal 8 Kbyte sehingga tidak memerlukan memori program eksternal. Mikrokontroler AT89S52 dipilih karena diperkirakan memiliki memori, Serta jumlah port yang cukup untuk digunakan dalam tugas akhir ini. Mikrokontroler dipergunakan untuk mengontrol servo.
3.2.2
Perencanaan Memori
Dalam sistem ini memori terbagi menjadi dua yaitu memori program dan memori data. Karena tipe Mikrokontroler yang digunakan adalah 89S52 dimana baik memori program maupun memori data terdapat dalam satu chip, maka tidak diperlukan memori eksternal.
3.2.3
Perencanaan Masukan Dan Keluaran
Pada Mikrokontroler 89S52 terdapat 4 buah port 8 bit. Port 3.3 digunakan untuk servo yang terdapat pada kaki atas robot, port 3.7 digunakan untuk servo yang terdapat pada badan robot, dan port 3.5 digunakan sebagai untuk servo yang terdapat pada kaki bawah robot.
60
3.2.4
Program Utama Proses kerja dari robot ini yaitu memanjat (naik) dan turun sesuai dengan inisialisasi
di dalam program yang di buat dari PC, kemudian di kirim ke mikrokontroler AT89S52 melalui kabel data (downloader). Yang perlu diperhatikan sebelum membuat program adalah sebagai berikut: 1.
Persiapan Menentukan port-port yang akan digunakan untuk mengontrol servo yang digunakan.
2.
Proses pengambilan data masukan Proses pengambilan data masukan melalui inisilisasi di program yang terdapat pada
mikrokontroler. Pembacaan data dari mikrokontroler kemudian diolah menjadi masukan set poin servo untuk mengendalikan proses kerja pengaturan jumlah pemanjatan dan turun yang akan dilakukan oleh robot.
3. Proses kerja sistem Eksekusi program yang berjalan pada sistem ini terjadi secara terintegrasi.dimana setiap bagian dari mekanisme gerakan yang terjadi pada saat robot berjalan terjadi secara teratur dan berurutan. Robot akan terus melakukan pemanjatan sampai tercapai ketinggian tertentu sesuai dengan inisialisasi di program.
3.2.5
Prinsip Kerja Robot.
61 Proses kerja sistem Eksekusi program yang berjalan pada sistem ini terjadi secara terintegrasi.dimana setiap bagian dari mekanisme gerakan pada saat robot berjalan terjadi secara teratur dan berurutan. Setelah sakelar pada robot dinyalakan robot akan melakukan pemanjatan sampai tercapai ketinggian tertentu dan turun kembali sesuai dengan inisialisasi program yang dimasukkan melalui mikrokontroler.
3.3
ALGORITMA APLIKASI ROBOT
Berikut adalah algoritma dan flowcart dari sistem secara keseluruhan. 3.3.1. Algoritma Pada Pergerakan Robot Algoritma robot terdiri dari 2 proses, yaitu proses robot naik dan proses robot turun.
1.
Pada kondisi awal robot sudah pada posisi mencengkeram tiang pada ke-empat kakinya.
2.
Setelah dilakukan start maka robot akan melakukan aksi pemanjatan, Setelah melakukan aksi pemanjatan selesai. Kemudian robot melakukan aksi penurunan hingga selesai sesuai dengan inisialisasi program.
3.
Ketika robot bergerak ke atas, hal pertama yang dilakukan robot adalah membuka sepasang kaki atas kemudian badan akan menjulur, sampai batas maksimal badan akan berhenti menjulur. Sepasang kaki atas akan menutup, Hal ini untuk memastikan bahwa sepasang kaki telah benar-benar mencengkeram tiang dengan kuat untuk menghindari robot terjatuh.
4.
Sepasang kaki bawah akan membuka dan kemudian badan bagian bawah akan terangkat keatas, dan sepasang kaki bawah akan menutup kembali.
62 5.
Gerakan untuk robot saat turun pada prinsipnya sama dengan pada saat melakukan pemanjatan hanya saja urutan langkah-langkah yang dibalik.
3.4
Flowchart
Didalam penyusunan program, untuk memudahkan didalam pembuatannya, maka perlu untuk membuat Flowchart sebagai acuan penyusunan program yang ada. Berikut flowchart untuk perangkat lunak sistem ini. Pada gambar flowchart dibawah ini adalah flowchart dari gerakan robot saat melakukan pemanjatan (Up), saat robot kembali turun (Down) dan flowchart dari gerakan robot secara keseluruhan.
3.4.1. Flowchart Saat Robot Naik (Up) Secara keseluruhan gerakan robot terdiri atas dua bagian yaitu gerakan saat pemanjatan dan gerakan saat robot kembali turun. Pada gambar 3.7 di bawah ini merupakan gerakan dari satu langkah untuk melakukan pemanjatan.(Gambar Flowchart Robot Naik di halaman berikutnya)
63
Gambar 3.3 Flowchart Robot Naik Nb:
KK = Kaki
Kaki Atas Nempel Pada Badan Atas
Kaki Bawah Nempel pada Badan Bawah Keterangan :
Start : Posisi robot sudah berada pada tiang
Banyak Panjatan : Sesuai dengan inisialisasi program
64
Apakah Kaki Bawah Tutup? : Jika ya, maka kaki atas robot buka setelah itu badan yang
menempel pada kaki atas robot(Badan Atas) naik, kemudian kaki atas
tutup. Dan kaki bawah buka setelah itu badan yang menempel pada kaki bawah(badan bawah) naik. Jika tidak, maka kaki bawah akan tutup.
Banyaknya Panjatan=Maksimal Panjatan? : Jika ya, kaki atas robot tutup, badan diam, dan kaki bawah tutup. Maka banyak panjatan sudah sama dengan maksimal panjatan sesuai dengan inisialisasi di program atau pemanjatan robot telah selesai. Jika tidak, maka robot akan memanjat kembali.
3.4.2
Flowchart Saat Robot Turun (Down) Secara algoritma gerakan yang terjadi pada saat robot turun tidak jauh berbeda dengan
gerakan yang terjadi pada saat pemanjatan. Berikut merupakan flowchart dari robot saat turun.
65
Gambar 3.4 Flowchart Robot Turun
Nb :
KK = Kaki
Kaki Atas Nempel Pada Badan Atas
66
Kaki Bawah Nempel pada Badan Bawah
Keterangan :
Start : Posisi robot sudah berada pada tiang
Banyaknya Turun : Sesuai dengan inisialisasi program
Apakah Kaki Atas Tutup? : Jika ya, maka kaki bawah robot buka setelah itu badan yang menempel pada kaki bawah robot(Badan Bawah) turun, kemudian kaki bawah tutup. Dan kaki atas buka setelah itu badan yang menempel pada kaki atas(badan atas) turun. Jika tidak, maka kaki atas akan tutup.
Banyaknya Panjatan = Maksimal Panjatan? : Jika ya, kaki bawah robot tutup, badan diam, dan kaki atas tutup. Maka banyak panjatan sudah sama dengan maksimal panjatan sesuai dengan inisialisasi di program atau pemanjatan robot telah selesai. Jika tidak, maka robot akan turun kembali.
Yang membedakan antara gerakan robot pada saat naik dan gerakan robot pada saat turun hanya pada urutannya saja. Yaitu kaki mana yang harus membuka atau menutup terlebih dahulu. Hal ini dapat terjadi karena secara mekanik servo sebagai penggerak badan robot telah dibuat untuk dapat burputar bolak-balik dengan pengaruh yang berbeda.