• Tidak ada hasil yang ditemukan

Flowchart Pengangkat Mobil Saat Pengambilan

BAB III RANCANGAN PENELITIAN

3.3.8 Flowchart Pengangkat Mobil Saat Pengambilan

Gambar 3.18 Flowchart pengangkat mobil saat melakukan proses pengambilan mobil Gambar 3.18 adalah gambar diagram alir dari pengangkat mobil. Pada gambar ini, proses yang dilakukan adalah proses saat mengambil mobil yang sudah ada di tempat parkir.

Proses ini diawali dengan adanya input serial dari parkir yang dikendalikan oleh PLC.

Setelah mendapatkan input, motor DC akan berjalan hingga mendapat input kontak dari slot parkir dan kemudian mematikan motornya. Kemudian, motor servo akan berputar sebesar 45° untuk mengangkat mobil yang telah terparkir. Kemudian motor DC akan berjalan lagi dengan arah yang berlawanan dengan proses sebelumnya untuk kembali ke lift parkir.

Setelah mendapat input serial lagi dari lift parkir, maka motor DC akan berhenti dan motor servo akan kembali ke 0° untuk menaruh mobil ke lift parkir.

BAB IV

HASIL DAN PEMBAHASAN

Bab ini akan menjelaskan tentang perubahan pada perancangan, hasil dari percobaan dan pembahasan tentang pengimplementasian hardware (Arduino) maupun software (HMI).

Perubahan Perancangan

Pada subbab ini akan dijelaskan tentang perubahan pada implementasi hardware (rangkaian Arduino) maupun software (HMI).

4.1.1 Perubahan Pin Arduino

Gambar 4.1 Skematik Rangkaian Elektronik

Gambar 4.1 merupakan gambar rangkaian elektronis yang diimplementasikan setelah melakukan beberapa pemindahan pin dan juga penambahan relay. Tabel 4.1 menjelaskan tentang apa saja pin yang digunakan dan komponen yang tersambung kepada pin-pin tersebut.

Tabel 4.1 Tabel Daftar Pin yang Digunakan Setelah Pengimplementasian No Pin Komponen/Sambungan ke

1 D2 NO Relay

2 D3 PWM Motor Servo

Tabel 4.1 (Lanjutan) Tabel Daftar Pin yang Digunakan Setelah Pengimplementasian No Pin Komponen/Sambungan ke

3 D5 PWM Motor DC 1

4.1.2 Perubahan Komunikasi Arduino- PLC

Perubahan pin untuk komunikasi dengan PLC, pada perancangan digunakan D0 dan D1 atau RX dan TX dari arduino yang akan dihubungkan ke TX dan RX dari PLC. Tetapi, setelah pengimplementasian hardware, komunikasi dengan PLC digantikan menggunakan sebuah Relay sebagai switch ON dan OFF dari PLC. Bagian NO (Normally Open) relay tersebut seperti pada table 4.1 dihubungkan dengan pin D2 dari arduino dan COM untuk relay dihubungkan dengan 5v dari arduino untuk memberikan tegangan saat relay ON.

Perubahan pin motor servo dan ketiga limit switch hanya dilakukan agar pin yang digunakan berurutan dan lebih rapi.

4.1.3 Perubahan Sumber Tegangan

Pada perancangan, arduino akan diberikan sumber tegangan dari batrai 9v. Tetapi, pada pengimplementasian, arduino diberi sumber dari power supply 12v. Perubahan ini dilakukan karena power supply 12v juga dibutuhkan untuk driver motor DC yang pada perancangan sebelumnya tidak digunakan, jadi arduino dapat sekaligus menggunakan power supply yang juga digunakan untuk driver motor.

Implementasi Perangkat Keras

Pada subbab ini, akan dijelaskan tentang implementasi perangkat keras. Gambar 4.2 merupakan gambar dari implementasi keseluruhan sistem pengangkat mobil.

Gambar 4.2 Implementasi Keseluruhan Sistem

4.2.1 Rangkaian Arduino dan Motor Driver

Gambar 4.3 Rangkaian Arduino

Seperti yang dapat dilihat di gambar 4.3, arduino menggunakan pin 2, 3, 5, 6, 7, 8, 9, Vin, 5v, dan GND.Dimana pin 2 digunakan untuk ke NO relay yang bertujuan untuk komunikasi dengan PLC. Pin 3 digunakan untuk PWM dari motor servo. Pin 5 dan 6 digunakan untuk PWM dari motor DC. Pin 7, 8, dan 9 digunakan untuk limit switch. Pin Vin dihubungkan dengan power supply sebagai sumber daya untuk arduino. Pin 5v dihubungkan

dengan COM relay, agar saat switch on, tegangan dapat masuk ke pin 2 dan mengetahui bahwa ada input dari PLC.

Gambar 4.4 Rangkaian pada Driver Motor dan Relay

Seperti pada gambar 4.4, driver motor menerima PWM motor dari pin 5 dan 6 arduino, kemudian meng-output-kan 01 dan 02 untuk dihubungkan ke motor DC. Driver motor juga dihubungkan dengan power supply 12v sebagai sumber daya nya.

4.2.2 Implementasi Sensor

Gambar 4.5 Limit Switch Belakang

Gambar 4.6 Limit Switch Depan

Gambar 4.7 Limit Switch Mobil

Gambar 4.5 hingga 4.7 merupakan gambar dari limit switch yang dipakai. Limit switch mobil digunakan untuk mendeteksi apakah mobil ada pada pengangkat atau tidak. Deteksi tersebut berguna untuk menentukan apakah pengangkat akan memarkirkan atau mengambil mobil. Limit switch depan dan belakang digunakan untuk mendeteksi apakah pengangkat sudah sampai di ujung tempat parkir dan lift.

4.2.3 Implementasi Motor DC dan Motor Servo

Gambar 4.8 Motor DC

Motor DC pada gambar 4.8 diatas digunakan untuk menjalankan pengangkat menuju ke slot parkir dan juga kembali ke lift. Motor akan berputar secara CCW saat menuju ke slot parkir dan secara CW saat kembali ke lift. Motor DC tersebut merupakan motor dengan gearbox, tujuan dari gearbox tersebut adalah untuk torsi yang lebih kuat. Untuk menyambungkan antara motor dan as roda, digunakan bevel gear.

Gambar 4.9 Pengangkat Mobil

Gambar 4.10 Pengangkat Mobil Saat sedang Mengangkat Mobil (Kanan) dan Saat Tidak Mengangkat (Kiri)

Gambar 4.9 adalah gambar dari pengangkat mobil. Pengangkat tersebut menggunakan sistem lift gunting. Lift tersebut diangkat dengan menggunakan sebuah motor servo. Saat mengangkat, motor servo akan berputar ke 40° (lihat gambar 4.10 kanan), sedangkan saat tidak mengangkat, motor servo akan berada pada posisi 65° (lihat gambar 4.10 kiri).

Hasil Pengamatan Sistem

Pada subbab ini akan dijelaskan tentang hasil dari pengamatan sistem. Proses penggunaan HMI dan pengangkat mobil.

4.3.1 Data Proses HMI

Pada subbab ini akan dijelaskan tentang proses kerja dan penggunaan HMI saat menempatkan dan mengambil mobil.

4.3.1.1 Data Proses Penempatan Parkir

Pada subbab ini akan dijelaskan alur yang dilewati saat user akan memarkirkan mobil.

Penjelasan tersebut akan dijelaskan pada tabel 4.2 berikut.

Tabel 4.2 Alur Penggunaan HMI untuk Memarkirkan Mobil No Perlakuan

User Tampilan HMI Penjelasan

1 Halaman

Seperti yang dijelaskan pada tabel 4.2, saat masih ada slot parkir yang kosong dan user memilih penempatkan mobil, maka HMI akan mencari slot yang masih kosong dengan

mengurutkan dari slot yang paling awal hingga yang paling akhir. Jadi, saat parkir masih kosong, maka user akan mendapatkan username “Parkir-01” dan berikutnya “Parkir-02” dan seterusnya hingga “Parkir-12”. Setelah itu, saat user sudah memasukkan password sesuai dengan ketentuan, maka sistem akan berjalan. HMI akan memberi perintah kepada PLC untuk memarkirkan mobil. Kemudian, HMI akan memberi input kepada PLC berupa input digital I/O untuk menuju slot sesuai dengan username yang diberikan.

4.3.1.2 Data Proses Pengambilan Parkir

Pada subbab ini akan dijelaskan alur yang dilewati saat user akan mengambil mobil yang telah diparkirkan. Penjelasan tersebut akan dijelaskan pada tabel 4.3 berikut.

Tabel 4.3 Alur Penggunaan HMI untuk Mengambil Mobil No Perlakuan

User Tampilan HMI Penjelasan

1 Halaman

Tabel 4.3 menjelaskan tentang alur kerja HMI saat user memilih pengambilan mobil.

Jika sudah ada mobil yang diparkirkan, maka user dapat memilih untuk emngambil mobil.

Setelah itu, user diminta untuk memasukka username dan password yang dimiliki. Jika username dan password sudah sesuai, sistem akan bekerja dan melakukan proses pengambilan.

4.3.1.3 Data Skenario Khusus

Pada subbab ini akan dijelaskan tentang kondisi-kondisi khusus yang mungkin terjadi saat sistem berjalan.

Tabel 4.4 Skenario khusus

No Skenario Tampilan HMI Penjelasan

1 Parkir kosong

Tabel 4.4 (Lanjutan) Skenario khusus

No Skenario Tampilan HMI Penjelasan

5

Tabel 4.4 menjelaskan tentang scenario-skenario khusus yang mungkin terjadi pada HMI. Baris pertama menunjukkan tampilan HMI saat parkir masih kosong. Saat masih kosong, maka pilihan untuk mengambil mobil tidak bisa ditekan karena belum ada mobil yang terparkir. Baris kedua menunjukan tampilan HMI saat sistem sedang bekerja, baik itu menempatkan ataupun mengambil mobil. Saat sistem sedang bekerja, lift masih tidak siap untuk dipakai. Maka dari itu, user belum bisa menggunakan HMI. Baris ketiga merupakan kondisi saat parkir penuh. Saat parkir penuh, maka pilihan untuk menempatkan mobil tidak bisa dipilih karena sudah tidak ada slot yang bisa dipakai. Baris keempat merupakan kondisi saat user akan melakukan penempatan mobil dan slot 1, 2, 4 dan 5 sudah terisi. Saat keadaan itu terjadi, maka HMI akan memberikan username yang terhubung dengan slot nomor 3 tidak dilanjutkan ke nomor 6. Hal itu karena HMI akan memberikan slot parkir kepada user mulai dari nomor terendah yang bisa dipakai. Baris kelima menunjukkan warning yang akan ditampilkan saat penempatan mobil dan user memasukkan password yang tidak sesuai dengan ketentuan. Ketentuan password yang bisa digunakan oleh user adalah Aplhanumeric,

5 karakter dan case sensitive. Case sensitive berarti huruf kapital dan tidak dianggap huruf yang berbeda. Baris keenam merupakan tampilan HMI saat pengambilan mobil dan user memasukkan username yang tidak benar. Pembacaan username oleh program tidak case sensitive. Jadi user tidak harus memasukkan username dengan huruf kapital. Baris ketujuh menunjukkan tampilan HMI saat pengambilan mobil dan user memasukkan password yang salah. Sama seperti sebelumnya, untuk password pembacaan program secara case sensitive, jadi user harus memasukkan password dengan benar dengan semua huruf kapital nya (jika ada).

4.3.2 Data Pengangkat Mobil

Pengangkat mobil akan bekerja saat menerima input dari PLC melalui relay. Saat PLC memberi input, maka relay akan ON dan sistem akan mulai bekerja. Saat sistem membaca bahwa ada mobil di pengangkat, maka sistem akan menjalankan proses pemarkiran.

Sedangkan saat tidak ada, sistem akan menjalankan proses pengambilan.

4.3.2.1 Data Proses Pengambilan

Saat proses pengambilan, motor akan berjalan secara CCW. Setelah itu, sistem menunggu limit switch depan untuk ON, saat sudah ON, maka motor akan berhenti bekerja dan servo akan berputar ke 40°. Setelah itu, motor akan berjalan secara CW dan menunggu limit switch belakang untuk ON. Saat sudah ON, maka motor servo akan berputar ke 65°.

Tabel 4.5 Data Waktu Pengambilan No Percobaan Ke Slot

1 Percobaan 1 6,04 1,25 6,32 1,43 15,04 Y

2 Percobaan 2 8,32 1,19 13,92 1,20 24,63 Y

3 Percobaan 3 5,00 1,35 6,20 1,84 14,39 Y

4 Percobaan 4 7,25 1,32 7,87 0,60 17,04 N

5 Percobaan 5 10,47 1,00 12,75 1,00 25,22 Y

6 Percobaan 6 9,10 1,34 8,87 1,50 20,81 Y

7 Percobaan 7 5,85 1,45 5,54 1,40 14,24 Y

8 Percobaan 8 6,84 1,15 6,59 1,32 15,9 Y

9 Percobaan 9 8,14 1,31 9,51 1,45 20,41 Y

10 Percobaan 10 5,98 1,10 7,96 1,47 16,51 Y

Rata-rata 7,30 1,25 8,55 1,32 18,42

Tabel 4.5 merupakan data waktu proses penempatan. Seperti yang dapat dilihat dari tabel, rata-rata waktu keseluruhan proses penempatan adalah 18,42 detik. Rata-rata waktu

perjalanan menuju slot adalah 7,30 detik dan menuju lift 8,55 detik. Dapat kita lihat dari tabel tersebut bahwa dalam beberapa percobaan (seperti pada percobaan 2 dan 5) membutuhkan waktu yang cukup jauh lebih lama dari rata-rata, hal ini dikarenakan penghubungan motor dan roda yang kurang baik. Motor DC dan roda dihubungkan dengan bevel gear yang di 3D print. Jadi, selain desain yang kurang baik, error dari 3D printer dan bahan dari hasil print juga berpengaruh yang menyebabkan gear terkadang slip dan tidak memutar roda. Rata-rata waktu pengangkatan mobil 1,25 detik dan penurunan mobil 1,32 detik. Untuk pengangkatan dan penurunan mobil kurang lebih semua sesuai dengan rata-rata, kecuali pada proses penurunan percobaan keempat. Pada proses tersebut terjadi error pada arduino yang menyebabkan servo langsung turun tanpa mengikuti program dan mereset program dari awal walupun sebenarnya program belum selesai. Secara keseluruhan, proses sistem penempatan gagal satu kali dari sepuluh percobaan yang berarti memiliki persentase keberhasilan 90%.

Tabel 4.6 Data Elektronis Proses Pengambilan

No Kondisi Motor limit switch depan, limit switch belakang, dan limit switch mobil akan bernilai 0 volt karena komponen tersebut belum bekerja, sedangkan motor servo akan mendapat 0,3 volt untuk menahan posisi pada 65°. Saat perjalanan menuju slot, motor DC akan bekerja dan mendapatkan +2,15 volt. Sedangkan komponen lain masih sama seperti sebelumnya. Saat sampai di slot, limit switch depan akan terpicu dan memberi tegangan 5,05 volt yang akan dibaca HIGH oleh arduino. Saat itu juga, motor DC akan berhenti dan motor servo akan mendapatkan 0,24 volt untuk mengangkat ke 40° yang akan membuat limit switch mobil membaca adanya mobil dan mendapatkan masukan 5,05 volt. Setelah itu, motor DC akan kembali bekerja dengan masukkan -2,15 volt agar putaran motor berlawanan arah dengan sebelumnya. Sedangkan motor servo dan limit switch mobil masih sama dengan sebelumnya. Setelah limit switch belakang terpicu dan memberi masukkan 5,05 volt, maka

motor DC akan berhenti berputar, motor servo akan menurunkan berputar ke 65° dengan masukkan 0,30 volt dan limit switch mobil akan kembali memberi 0 volt karena mobil sudah diletakkan di lift. Kemudian sistem akan menunggu untuk perintah berikutnya.

4.3.2.2 Data Proses Penempatan

Saat proses penempatan berjalan, maka motor servo akan bergerak ke 40° untuk mengangkat mobil. Kemudian motor akan bergerak secara CCW untuk bergerak maju.

Kemudian sistem menunggu limit switch depan untuk terpicu. Saat limit switch depan ON, maka motor akan berhenti berputar dan kemudian servo akan berputar ke 65° untuk menurunkan mobil. Setelah itu, motor akan kembali berputar secara CW untuk kembali ke lift. Sistem kemudian menunggu untuk limit switch belakang ON. Saat limit switch belakang ON, maka motor akan berhenti.

Tabel 4.7 Data Proses Penempatan No Percobaan Angkat

1 Percobaan 1 1,48 7,91 1,25 10,71 22,35 Y

2 Percobaan 2 1,50 7,83 1,37 6,25 16,95 Y

3 Percobaan 3 1,25 7,54 1,50 9,42 19,71 Y

4 Percobaan 4 1,44 7,88 1,00 6,50 16,82 Y

5 Percobaan 5 1,03 6,67 1,35 7,49 16,54 Y

6 Percobaan 6 1,04 7,49 1,00 9,96 19,49 Y

7 Percobaan 7 0,87 - - - - N

8 Percobaan 8 1,11 7,31 1,20 9,59 19,21 Y

9 Percobaan 9 1,08 9,14 1,24 9,24 20,7 Y

10 Percobaan 10 1,21 6,45 1,44 6,69 15,79 Y

Rata-rata 1,24 7,58 1,26 8,43 18,51

Tabel 4.7 merupakan data waktu proses penempatan. Seperti yang dapat dilihat dari tabel, rata-rata waktu keseluruhan proses penempatan adalah 18,51 detik. Rata-rata waktu perjalanan menuju slot adalah 7,58 detik dan menuju lift 8,43 detik. Sama seperti percobaan sebelumnya, dalam beberapa percobaan (seperti pada percobaan 1 dan 6) membutuhkan waktu yang cukup jauh lebih lama dari rata-rata, hal ini juga masih dikarenakan penghubungan motor dan roda yang kurang baik yang terkadang slip dan tidak memutar roda. Rata-rata waktu pengangkatan mobil 1,21 detik dan penurunan mobil 1,26 detik. Untuk pengangkatan dan penurunan mobil kurang lebih semua juga sesuai dengan rata-rata seperti percobaan sebelumnya, kecuali pada proses penurunan percobaan ketujuh. Pada proses tersebut terjadi error yang juga sama seperti percobaan sebelumnya. Namun, perbedaan dari

percobaan sebelumnya adalah bahwa error di percobaan ini terjadi pada pengangkatan mobil awal yang menyebabkan arduino untuk mereset program dari awal dan membuat proses yang lain tidak bekerja sama sekali. Karena itu, percobaan ketujuh tidak dimasukkan dalam penghitungan rata-rata. Secara keseluruhan, proses sistem pengambilan gagal satu kali dari sepuluh percobaan yang berarti memiliki persentase keberhasilan 90%.

Tabel 4.8 Data Elektronis Proses Penempatan

No Kondisi Motor limit switch depan, limit switch belakang, dan limit switch mobil akan bernilai 0 volt karena komponen tersebut belum bekerja, sedangkan motor servo akan mendapat 0,3 volt untuk menahan posisi pada 65°. Saat akan memulai perjalanan menuju slot, limit switch mobil akan memberi 5,05 volt karena ada mobil di lift. Karena itu, sistem akan menjalankan proses penempatan. Proses ini diawali dengan motor servo akan mendapatkan 0,3 volt dan berputar ke 40° dan motor DC akan bekerja dengan mendapatkan +2,15 volt. Saat sampai di slot, limit switch depan akan terpicu dan memberi tegangan 5,05 volt yang akan dibaca HIGH oleh arduino. Saat itu juga, motor DC akan berhenti dan motor servo akan mendapatkan 0,24 volt untuk kembali ke 65° yang juga akan membuat limit switch mobil kembali ke 0 volt karena sudah tidak adanya mobil. Setelah itu, motor DC akan kembali bekerja dengan masukkan -2,15 volt agar putaran motor berlawanan arah dengan sebelumnya. Sedangkan motor servo dan limit switch mobil masih sama dengan sebelumnya. Setelah limit switch belakang terpicu dan memberi masukkan 5,05 volt, maka motor DC akan berhenti berputar.

Kemudian sistem akan menunggu untuk perintah berikutnya.

Implementasi Perangkat Lunak

Pada subbab ini, akan dijelaskan tentang implementasi perangkat lunak HMI dan Arduino.

4.4.1 Implementasi Perangkat Lunak HMI

Pada subbab ini akan dijelaskan tentang jendela-jendela apa saja yang ada di HMI dan juga tagname apa saja yang digunakan.

4.4.1.1 Window Menu Utama

Gambar 4.11 Menu Utama HMI

Gambar 4.11 adalah gambar tampilan HMI saat berada di window Menu Utama.

Window tersebut merupakan window yang bertipe replace. Jadi, saat window ini tertampil, maka window lain yang tertindih akan tertutup.

Gambar 4.12 Window Script untuk Window Menu Utama

Window menu utama memiliki window script seperti pada gambar 4.12 yang akan dijalankan selama window tertampil. Script tersebut akan dijalankan setiap 1000 milidetik

atau 1 detik. Script tersebut berguna untuk memberi nilai 0 ke semua tagname I/O setiap detik. Hal ini dilakukan untuk mematikan nilai 1 dari I/O setelah digunakan untuk memberikan info ke PLC.

4.4.1.2 Window Penempatan Mobil

Gambar 4.13 Window HMI saat Penempatan Mobil Dipilih

Gambar 4.13 adalah gambar tampilan HMI saat berada di window Penempatan Mobil.

Window tersebut merupakan window yang bertipe replace. Sama seperti window utama, saat window ini tertampil, maka window lain yang tertindih akan tertutup.

Gambar 4.14 Window Script untuk Window Penempatan Mobil

Gambar 4.14 merupakan window script dari window Penempatan mobil yang akan dijalankan saat awal window tertampil. Script tersebut berguna untuk mengosongkan nilai dari tagname “PassInput” yang digunakan untuk menyimpan masukan password dari user.

Selain itu, script tersebut juga menentukan username yang akan didapatkan oleh user.

Username yang diberikan akan berurutan mulai dari “Parkir-01” hingga “Parkir-12” dengan prioritas nomor yang terkecil.

Gambar 4.15 Action Script Tombol Save

Gambar 4.15 merupakan script yang akan dijalankan saat tombol save pada window penempatan mobil (lihat gambar 4.13) ditekan. Script pertama-tama akan mengecek apakah password yang dimasukkan sudah lebih dari lima karakter atau belum. Jika belum sesuai, maka akan terdapat warning pada password (lihat tabel 4.4 baris 4). Jika sudah sesuai, maka script akan mengecek username mana yang dipakai dan menyimpan password pada tagname yang sesuai dengan username yang dipakai. Setelah itu, script akan mengisi tagname slot parkir yang dipakai dengan 1 untuk mengetahui bahwa slot sudah dipakai. Kemudian script akan memberi output I/O untuk dikomunikasikan ke PLC.

4.4.1.3 Window Pengambilan Mobil

Gambar 4.16 Window HMI saat Pengambilan Mobil Dipilih

Gambar 4.16 adalah gambar tampilan HMI saat berada di window Pengambilan Mobil.

Window tersebut merupakan window yang bertipe replace. Sama seperti window yang lain, saat window ini tertampil, maka window lain yang tertindih akan tertutup.

Gambar 4.17 Window Script “On Show” untuk Window Pengambilan Mobil

Gambar 4.17 adalah window script yang akan dijalankan saat window ditampilkan.

Script tersebut berguna untuk mengosongkan nilai dari tagname “UserInput” dan

“PassInput”.

Gambar 4.18 Window Script “While Showing” untuk Window Pengambilan Mobil Gambar 4.18 merupakan window script yang akan dijalankan selama window tertampil setiap 10 milidetik. Script tersebut berguna untuk menampilkan atau menyembunyikan username yang dimasukkan oleh user. Saat tagnam “UserInput” kosong, maka username yang dimasukkan oleh user akan disembunyikan, sedangkan saat

“UserInput” tidak kosong, maka username yang dimasukkan oleh user akan ditampilkan.

Gambar 4.19 Window Script “On Hide” untuk Window Pengambilan Mobil

Gambar 4.19 merupakan window script yang akan dijalankan saat window tertutup.

Script tersebut bertujuan untuk menetralkan (memberi nilai 0) pada tagname “CheckUser”

dan “ErrPass”.

Gambar 4.20 Action Script Tombol Login

Gambar 4.20 adalah action script dari tombol login. Script ini akan dijalankan saat tombol login pada window pengambilan mobil (lihat gambar 4.16) ditekan. Pertama-tama script akan mengecek apakah username yang dimasukkan sesuai dengan username yang diberikan sebelumnya. Kemudian script juga akan mengecek apakah username yang

dimasukkan benar ada mobil yang terparkir atau tidak. Setelah itu, script akan mengecek apakah password yang dimasukkan sesuai dengan password yang tersimpan dengan username yang telah dimasukkan sebelumnya. Jika belum sesuai, entah itu username ataupun password, maka akan muncul warning (lihat tabel 4.4 baris 3 dan 4). Jika sudah sesuai, maka script akan memberi nilai 0 untuk slot parkir untuk menandakan bahwa parkir kosong dan dapat digunakan lagi dan memberikan info kepada PLC. Setelah itu, script akan menampilkan window menu utama yang akan membuat window pengambilan mobil tertutup.

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

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

Dokumen terkait