Palang Parkir Otomatis Arduino dengan Servo: Proyek Tugas yang Aman
Oleh Anang H. Darmawan

Foto: dari gan / Unsplash
Palang parkir otomatis termasuk proyek Arduino yang paling sering dipilih untuk tugas sekolah dan praktikum. Alasannya masuk akal: gerakannya kelihatan, logikanya bisa dijelaskan di depan guru atau dosen, dan komponennya murah. Masalahnya, banyak yang lancar saat dicoba di meja lalu macet tepat ketika presentasi. Hampir selalu penyebabnya sama, yaitu servo yang disambung asal ke pin 5V Arduino.
Di sini saya bahas versi yang aman untuk dipresentasikan: aman dalam arti tegangannya rendah dan tidak berbahaya, juga aman dalam arti tidak reset sendiri saat palang bergerak.
Komponen yang dibutuhkan
Versi paling umum memakai empat komponen inti. Arduino Uno sebagai otak, sensor ultrasonik HC-SR04 untuk mendeteksi mobil, servo SG90 sebagai penggerak palang, dan LCD 16x2 untuk menampilkan sisa slot. Tambahkan satu push button untuk mensimulasikan mobil keluar, supaya jumlah slot bisa bertambah lagi.
Untuk maket, palangnya cukup dari stik es krim atau potongan akrilik tipis. Semakin ringan palang, semakin ringan kerja servo. Ini hal sepele yang sering dilupakan: palang dari triplek tebal membuat SG90 bekerja di batas torsinya, dan servo yang dipaksa terus akan panas lalu bergetar.
Kenapa servo butuh catu daya terpisah
Saat bergerak, servo menarik arus secara tiba-tiba. Kalau servo mengambil daya dari pin 5V Arduino yang disuplai USB laptop, tegangan bisa turun sesaat. Akibatnya macam-macam: LCD berkedip, pembacaan sensor kacau, atau Arduino restart di tengah gerakan palang. Ini yang saya maksud dengan macet saat presentasi.
Solusinya sederhana. Beri servo sumber 5V sendiri, misalnya adaptor 5V atau modul step down dari baterai, lalu sambungkan ground sumber itu ke GND Arduino. Ground bersama ini wajib. Tanpa ground yang sama, sinyal PWM dari Arduino tidak punya titik acuan dan servo akan bergerak liar. Pasang juga kapasitor elektrolit di dekat konektor servo untuk meredam lonjakan arus.
Cek dulu kabelnya sebelum menyalakan: merah ke 5V sumber terpisah, cokelat atau hitam ke ground bersama, oranye ke pin sinyal Arduino. Jangan pernah menyambung sumber 5V eksternal ke pin 5V Arduino secara bersamaan dengan USB kalau kamu belum paham jalur dayanya.
Logika buka tutup yang tidak mudah error
Logika yang rapi adalah memikirkan palang sebagai beberapa keadaan. Keadaan TERTUTUP: sensor membaca jarak, kalau ada objek lebih dekat dari ambang (misalnya 10 cm untuk maket) dan slot masih tersisa, pindah ke keadaan TERBUKA. Keadaan TERBUKA: servo diputar ke 90 derajat, jumlah slot dikurangi satu, lalu tunggu sampai sensor tidak lagi mendeteksi objek. Setelah objek hilang, tunggu beberapa detik, baru tutup kembali.
Dua kesalahan yang sering muncul. Pertama, memakai `delay()` panjang, sehingga tombol keluar tidak terbaca selama palang terbuka. Ganti dengan pengecekan waktu memakai `millis()`. Kedua, slot berkurang berkali-kali untuk satu mobil karena sensor membaca terus selama mobil diam di depan palang. Kunci pengurangan slot hanya sekali per perpindahan keadaan.
Sensor ultrasonik juga kadang membaca angka aneh karena pantulan. Ambil tiga sampai lima pembacaan lalu pakai nilai tengahnya. Kalau slot habis, jangan buka palang, dan tampilkan "PENUH" di LCD supaya penguji langsung melihat logikanya berjalan.
Pengembangan supaya nilai tugas lebih kuat
Kalau versi dasar sudah stabil, ada beberapa arah pengembangan yang masuk akal untuk tugas. Tambah sensor kedua di sisi dalam palang supaya palang tidak menutup saat mobil masih berada di bawahnya, ini meniru cara palang sungguhan menjaga keamanan. Tambahkan buzzer untuk tanda palang akan menutup. Untuk parkir khusus anggota, palang bisa dibuka dengan kartu RFID dan setiap akses dicatat ke kartu SD.
Untuk versi dasar yang langsung jalan, Palang Parkir Otomatis Arduino Uno sudah memakai HC-SR04, SG90, dan LCD 16x2 dengan hitung sisa slot, lengkap dengan skema wiring dan panduan kalibrasi. Kalau kamu mau belajar bagian RFID dan pencatatan ke SD card, Absensi RFID + SD Card Arduino Uno bisa jadi referensi cara membaca kartu RC522 dan menulis log CSV dengan waktu dari RTC DS3231.
Sebelum memasang palang ke servo, hitung dulu sudut buka dan tutupnya di konverter sudut servo ke PWM, lalu uji servo tanpa beban. Kalau gerakan tanpa beban sudah halus dan Arduino tidak reset, baru pasang palangnya.
