• Tidak ada hasil yang ditemukan

Implementasi Perangkat Lunak Arduino

BAB IV HASIL DAN PEMBAHASAN

4.4.2 Implementasi Perangkat Lunak Arduino

Pada subbab ini akan dijelaskan tentang bagian-bagian dari program arduino yang digunakan.

Gambar 4.21 Mendefinisikan Variable Program

Gambar 4.21 merupakan bagian dari program arduino untuk mendefinisikan variable-variable yang akan digunakan di program. Baris 1 dari program berguna untuk membaca library dari servo.h yang akan digunakan untuk mengatur servo. Baris 2 hingga 8 berguna untuk memberi nama pin 2, 3, 5, 6, 7, 8 dan 9 untuk mempermudah penyebutan pin-pin pada program agar tidak tertukar. Baris 10 dari program pada dasarnya sama dengan baris 2 hingga 8, program itu bertujuan untuk memberi nama library servo untuk mempermudah penyebutan pada baris-baris berikutnya.

Gambar 4.22 Inisialisasi Variable Program

Gambar 4.22 merupakan bagian dari program arduino untuk menginisialisasi variable-variable yang akan digunakan di program. Baris 12 berguna untuk memasangkan library servo ke pin PWM_Servo yang sudah didefinisikan di baris 3 pada gambar 4.x. Baris 13 berguna untuk menginisialisasi servo ke 65°. Baris 14 hingga 19 berfungsi untuk mengatur pin-pin yang disebutkan sebagai output atau input. Baris 14 diatur sebagai input untuk masukan dari PLC yang terhubung dengan relay. Pada baris 15 hingga 17 diatur sebagai INPUT_PULLUP untuk membalik fungsi pin input yang biasanya membutuhkan input HIGH agar aktif, menjadi membutuhkan input LOW agar aktif. Selain itu, INPUT_PULLUP juga berguna untuk menyederhanakan rangkaian dengan menggunakan resistor internal pada arduino dari pada menggunakan resistor eksternal. Baris 18 dan 19 diatur sebagai output untuk keluaran ke driver motor yang kemudian akan terhubung ke motor DC.

Gambar 4.23 Function Program PWM Motor

Gambar 4.23 merupakan function untuk mengatur PWM motor DC. Program baris 24 merupakan program yang akan diberikan kepada driver motor DC agar motor DC dapat berputar. Variable X merupakan nomor pin yang digunakan dan variable Y merupakan duty cycle yang ingin dimasukkan. Pada baris 23, variable Y diberikan fungsi MAP, fungsi ini bertujuan untuk mengubah nilai dari input duty cycle 100) ke range input analogWrite (0-255)

Gambar 4.24 Function Program Penempatan Mobil

Gambar 4.24 merupakan program dari function dari program yang akan dijalankan saat akan melakukan penempatan. Jadi, saat function “Penempatan()” dipanggil, pertama-tama program akan memutar motor servo dari 65° ke 40° (baris 28 hingga 30) untuk menaikkan pengangkat mobil. Setelah itu, program akan delay selama 1 detik dan kemudian akan menjalankan motor DC secara CCW dengan PWM 15% selama limit switch depan belum HIGH (baris 32 hingga 35). Setelah limit switch depan HIGH, maka motor DC akan diberi kan PWM 0% yang akan membuat motor berhenti dan kemudian akan melakukan delay selama 1 detik (baris 37 hingga 39). Setelah itu, motor servo akan berputar dari 40° ke 65° dan setelah delay 1 detik akan menjalankan motor DC secara CW dengan PWM 15%

selama limit switch belakang masih belum HIGH (baris 40 hingga 47). Setelah limit switch belakang HIGH, maka motor DC akan diberi kan PWM 0% yang akan membuat motor berhenti.

Gambar 4.25 Function Program Pengambilan Mobil

Gambar 4.25 merupakan program dari function dari program yang akan dijalankan saat akan melakukan pengambilan. Jadi, saat function “Pengambilan()” dipanggil, pertama-tama program akan menjalankan motor DC secara CCW dengan PWM 15% selama limit switch depan belum HIGH (baris 54 hingga 56). Setelah limit switch depan HIGH, maka motor DC akan diberi kan PWM 0% yang akan membuat motor berhenti dan kemudian akan melakukan delay selama 1 detik (baris 58 hingga 60). Setelah itu, program akan memutar motor servo dari 65° ke 40° untuk menaikkan pengangkat mobil dan melakukan delay selama 1 detik (baris 61 hingga 65). Setelah itu, program akan menjalankan motor DC secara CW dengan PWM 15% selama limit switch belakang masih belum HIGH (baris 66 hingga 68). Setelah limit switch belakang HIGH, maka motor DC akan diberi kan PWM 0% yang akan membuat motor berhenti (baris 70 hingga 71). Setelah melakukan delay selama 1 detik, motor servo akan berputar dari 40° ke 65° (baris 72 hingga 75).

Gambar 4.26 Program Loop

Gambar 4.26 merupakan program utama yang akan diulang secara terus menerus. Pada bagian ini program akan melakukan pembacaan setiap 100 milidetik atau 0,1 detik. Program akan membaca apakah PLC sudah memberi input atau belum. Jika PLC sudah memberi input, maka program akan membaca apakah limit switch mobil HIGH atau LOW. Jika limit switch mobil HIGH, maka program akan melakukan pemanggilan function “Penempatan()”.

Jika limit switch mobil LOW, maka program akan melakukan pemanggilan function

“Pengambilan()”.

BAB V

KESIMPULAN DAN SARAN

Kesimpulan

Berdasarkan hasil dari pengolahan data, maka dapati disimpulkan bahwa 1. Proses pengambilan mobil memiliki tingkat keberhasilan 90%

2. Proses penempatan mobil memiliki tingkat keberhasilan 90%

3. Komunikasi PLC dan HMI berjalan dengan baik 4. Komunikasi PLC dan Arduino berjalan dengan baik 5. Tampilan HMI berjalan dengan baik

Saran

Setelah melakukan penelitan, beberapa saran untuk penelitian selanjutnya yaitu:

1. Desain bevel gear untuk menghubungkan motor DC dan roda perlu diperbaiki atau menggunakan metode lain yang lebih baik.

2. Desain pengangkat mobil secara keseluruhan perlu diperbaiki agar lebih efisien 3. Desain pengangkat mobil dan slot parkir perlu disinkronkan agar bisa

terhubung antara satu dengan yang lain dengan baik.

4. Desain slot parkir dan lift perlu diperbaiki untuk mengurangi kegagalan 5. Buat desain parkir lebih besar agar lebih mudah untuk menempatkan sensor,

driver, microcontroller, dan lain-lain.

DAFTAR PUSTAKA

[1] G. T. Wahyu, “Medco Foundation,” [Online]. Available:

https://www.medcofoundation.org/mengenal-ruang-terbuka-hijau/. [Diakses Januari 2021].

[2] L. M. Ulfa, “COLLABORATIVE GOVERNANCE DALAM PENYEDIAAN

RUANG TERBUKA HIJAU (RTH) TAMAN KOTA DI SURABAYA,” 2018.

[3] C. Lova, “Kompas,” [Online]. Available:

https://megapolitan.kompas.com/read/2020/02/21/14014291/bekasi-sulit-sediakan-30-persen-ruang-terbuka-hijau. [Diakses Februari 2021].

[4] Arduino, “Arduino,” [Online]. Available:

https://www.arduino.cc/en/guide/introduction. [Diakses Februari 2021].

[5] C. Platt, “Switch,” dalam Encyclopedia of Electronic Components Volume 1, O’Reilly

Media, Inc., 2013, pp. 39-40.

[6] C. Platt, “DC Motor,” dalam Ecyclopedia of Electronic Component, O'Reilly Media,

Inc., 2013, pp. 179-181.

[7] Dejan, “L298N Motor Driver – Arduino Interface, How It Works, Codes, Schematics,”

How To Mechatronics, 2017. [Online]. Available:

https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/. [Diakses 13 05 2021].

[8] Arduino, “PWM,” Februari 2018. [Online]. Available:

https://www.arduino.cc/en/Tutorial/Foundations/PWM/. [Diakses Februari 2021].

[9] Wonderware FactorySuite, “Using InTouch Security,” dalam InTouch User’s Guide,

Invensys Systems, Inc., 2005, pp. 214-215.

Dokumen terkait