PEMBUATAN PALANG PARKIR OTOMATIS BERBASIS ARDUINO UNO R3 DENGAN KENDALI 2 TOMBOL MENGGUNAKAN GERBANG LOGIKA NAND
Disusun Oleh :
Kelompok 2
Faiz Ahmad Arrafi (25051204006)
Syifa'ul Iqbal Saputra (25051204007)
Johana Putri Adelia (25051204053)
Adiyandra Vlatienska Pungkaswani (25051204066)
Kahfi Maylandri
(25051204067)
BAB
I
PENDAHULUAN
1.1
Latar Belakang
Di era modern ini, penciptaan teknologi
berbasis Arduino telah menjadi sangat umum, terutama dalam aspek otomatisasi
pemberdayaan teknologi. Platform open-source ini, dengan fleksibilitas
dan kemudahan penggunaannya, telah membuka peluang luas bagi pengembangan
sistem kendali elektronik yang terjangkau. Kemampuannya untuk diintegrasikan
dengan berbagai sensor dan aktuator menjadikan Arduino solusi ideal untuk menerapkan
otomatisasi dalam berbagai bidang, termasuk manajemen parkir yang masih banyak
mengandalkan cara manual.
Sistem parkir konvensional yang
mengandalkan operator manusia sering kali menghadapi tantangan seperti
ketidakefisienan waktu, ketidakseragaman operasi, dan kerentanan terhadap human
error. Untuk mengatasi keterbatasan ini, diperlukan inovasi sistem yang
sederhana, andal, dan ekonomis. Proyek pembuatan Palang Parkir Otomatis
Berbasis Arduino Uno R3 dengan Kendali 2 Tombol ini dirancang sebagai solusi
dasar, yang mengubah mekanisme buka-tutup palang dari manual menjadi otomatis
melalui antarmuka kendali dua tombol yang dioperasikan oleh pengguna.
Dengan memanfaatkan motor servo yang
dikendalikan oleh logika pemrograman pada Arduino, sistem ini menawarkan
peningkatan konsistensi, kecepatan respon, dan keandalan operasional. Prototipe
ini tidak hanya menjadi demonstrasi praktis prinsip otomatisasi, tetapi juga
membuka jalan untuk pengembangan lebih lanjut, seperti integrasi dengan sensor
otomatis atau sistem pembayaran. Melalui implementasi ini, diharapkan dapat
memberikan kontribusi nyata dalam menyediakan alternatif teknologi yang efektif
untuk pengelolaan parkir skala kecil dengan berlandaskan gerbang logika NAND
ini.
1.2
Rumusan Masalah
1. Bagaimana
merancang dan merakit sistem palang parkir otomatis menggunakan Arduino Uno R3
yang dapat dikendalikan dengan dua tombol (untuk membuka dan menutup palang)?
2. Bagaimana
memprogram Arduino Uno R3 agar dapat menggerakkan motor servo sebagai aktuator
palang parkir berdasarkan logika input dari kedua tombol tersebut?
3. Bagaimana
kinerja sistem palang parkir otomatis yang telah dibuat dalam hal respons
terhadap perintah, akurasi gerakan, dan keandalannya dibandingkan dengan sistem
manual?
1.3
Tujuan Laporan
1. Merancang
dan Merealisasikan Penggunaan Arduino dalam Pembuatan Palang Parkir Otomatis
Untuk
merancang, merakit, dan membangun sebuah prototipe fungsional palang parkir
otomatis menggunakan komponen utama Arduino Uno R3, motor servo, dan dua buah
tombol push-button sebagai antarmuka kendali.
2. Mengembangkan
dan Mengimplementasikan Program Kendali dengan Menggunakan Gerbang Logika NAND
Untuk
mengembangkan algoritma dan memprogram Arduino Uno R3 dengan memanfaatkan
prinsip gerbang logika NAND guna mengolah sinyal input dari kedua tombol,
sehingga menghasilkan logika kendali yang efisien dan mendemonstrasikan
aplikasi teori gerbang logika dalam sistem fisik untuk menggerakkan motor servo
secara otomatis.
3. Menguji
dan Menganalisis Kinerja Sistem
Untuk
menguji kinerja prototipe yang telah dibuat dengan mengukur parameter seperti
respons sistem terhadap perintah, konsistensi gerakan servo, dan keandalan
operasi secara keseluruhan, serta menganalisis kelebihan dan kekurangannya
dibandingkan dengan sistem manual.
1.4
Manfaat Penulisan
1. Manfaat
Teoritis
Menambah
dan memperdalam pengetahuan mengenai prinsip serta aplikasi gerbang logika
NAND dalam konteks sistem kendali digital, khususnya pada
pengimplementasiannya menggunakan platform Arduino Uno R3.
2. Manfaat
Praktis
Menghasilkan
sebuah prototipe palang parkir otomatis yang fungsional, sederhana, dan
ekonomis, yang dapat diaplikasikan atau menjadi referensi untuk pengembangan
sistem otomasi parkir di lingkungan skala kecil, seperti perumahan, sekolah,
atau tempat usaha.
3. Manfaat
Akademis
Sebagai
media pembelajaran yang konkret yang menghubungkan teori gerbang logika dengan
pemrograman dan perancangan sistem menggunakan input tombol, sehingga dapat
mendukung proses edukasi dalam bidang teknik kendali, robotika, dan otomasi
dengan komponen yang minimalis.
4. Manfaat
Pengembangan
Memberikan
dasar dan wawasan untuk inovasi lebih lanjut dalam pengembangan sistem kendali
berbasis tombol, serta menunjukkan bagaimana logika kombinasional sederhana
dapat diaplikasikan dalam sistem otomasi tanpa ketergantungan pada sensor.
BAB
II
TINJAUAN
PUSTAKA
2.1 Dasar
Teori
2.1.1 Gerbang Logika NAND
Gerbang logika NAND (NOT-AND)
merupakan gerbang logika universal yang menghasilkan keluaran LOW (0)
hanya ketika semua masukannya HIGH (1). Dalam semua kondisi input
lainnya, keluarannya akan HIGH (1). Tabel kebenaran untuk gerbang
NAND dua input adalah sebagai berikut:
|
Input A |
Input B |
Output |
Keterangan |
|
0 (LOW) |
0 (LOW) |
1 (HIGH) |
Kedua tombol dilepas |
|
0 (LOW) |
1 (HIGH) |
1 (HIGH) |
Tombol A dilepas, Tombol B ditekan |
|
1 (HIGH) |
0 (LOW) |
1 (HIGH) |
Tombol A ditekan, Tombol B dilepas |
|
1 (HIGH) |
1 (HIGH) |
0 (LOW) |
Kedua tombol ditekan |
Fungsi Boolean gerbang NAND dua input dapat
direpresentasikan sebagai:
Y = A · B (Y = NOT (A AND B)) atau Y = (A
· B)'
Gerbang NAND disebut universal karena
kombinasi gerbang NAND dapat digunakan untuk membuat semua gerbang logika dasar
lainnya (AND, OR, NOT, XOR, dll.). Dalam sistem digital modern, gerbang NAND
banyak digunakan karena efisiensi implementasinya dalam teknologi CMOS
(Sunarwan, 2019).
2.1.2 Implementasi Gerbang NAND pada Arduino Uno
R3
Arduino Uno R3 dapat
mengimplementasikan gerbang logika NAND melalui pemrograman software.
Implementasi ini dilakukan dengan membaca status digital dari pin input
(tombol) dan menerapkan operasi logika NAND dalam kode program.
Berdasarkan kode yang diberikan,
implementasi gerbang NAND dapat dilihat pada bagian evaluasi aturan. Pada
sistem ini:
·
HIGH (1) =
Tombol ditekan (secara logika, setelah inversi)
·
LOW (0) =
Tombol dilepas (secara logika, setelah inversi)
·
HIGH (1) pada output
= Servo ON = Palang tertutup
·
LOW (0) pada output
= Servo OFF = Palang terbuka
Pendekatan ini memungkinkan
fleksibilitas dalam merancang sistem logika tanpa memerlukan rangkaian gerbang
NAND fisik, sekaligus mendemonstrasikan konsep logika kombinasional dalam
domain pemrograman (Widodo, 2021).
2.1.3 Sistem Kendali Palang Parkir dengan Logika
NAND
Pada sistem palang parkir dengan dua
tombol, gerbang logika NAND diimplementasikan dengan ketentuan:
·
Tombol A dan Tombol
B sebagai input logika
·
Motor servo sebagai
aktuator yang dikendalikan oleh output logika
·
Kondisi palang
terbuka hanya ketika kedua tombol ditekan bersamaan (input A=HIGH, B=HIGH
→ output=LOW)
·
Kondisi palang
tertutup untuk semua kombinasi input lainnya
Dalam kode yang diberikan, hubungan antara level
logika dan kondisi fisik adalah:
|
Kondisi Tombol |
Level Logika |
Output NAND |
Servo |
Status Palang |
|
Kedua tombol ditekan |
HIGH, HIGH |
LOW (0) |
OFF |
Terbuka |
|
Kedua tombol dilepas |
LOW, LOW |
HIGH (1) |
ON |
Tertutup |
|
Satu tombol ditekan |
HIGH, LOW |
HIGH (1) |
ON |
Tertutup |
|
Satu tombol ditekan (lainnya) |
LOW, HIGH |
HIGH (1) |
ON |
Tertutup |
Sistem ini meningkatkan keamanan
karena memerlukan tindakan dua orang (atau dua tangan) untuk membuka palang,
mencegah operasi tidak sah. Implementasi logika NAND dalam konteks ini
merupakan aplikasi praktis dari teori keamanan sistem (two-man rule)
yang diterjemahkan dalam logika digital (Santoso, 2020).
2.1.4 Rangkaian Input Tombol dengan Arduino
Tombol push-button dihubungkan ke
Arduino menggunakan konfigurasi pull-up internal.
Untuk sistem dua tombol dengan logika
NAND, perlu dilakukan inversi logika input karena konfigurasi pull-up
menghasilkan logika terbalik. Dalam kode yang diberikan, inversi ini dilakukan
pada:
bool curPressed = (stableNow[i] ==
LOW); // true saat ditekan
Dengan demikian:
stableNow[i] == HIGH
→ tombol dilepas → curPressed = false (0)
stableNow[i] == LOW
→ tombol ditekan → curPressed = true (1)
Sehingga secara logika, kondisi
"ditekan" tetap direpresentasikan sebagai HIGH (1) untuk pemrosesan
gerbang NAND. Implementasi ini sesuai dengan prinsip bahwa ketika kedua tombol
ditekan (input logika = 1,1), output NAND = 0, yang dalam sistem ini berarti
palang terbuka (Hernawan, 2022).
2.1.5 Implementasi
Debouncing Pada Sistem
Kode
yang diberikan mengimplementasikan teknik debouncing untuk memastikan
pembacaan input yang stabil. Hal ini penting karena kontak mekanik tombol dapat
menghasilkan beberapa kali HIGH-LOW-HIGH dalam waktu singkat saat ditekan atau
dilepas.
Teknik
ini memastikan bahwa logika NAND hanya memproses sinyal input yang telah
stabil, menghindari operasi palang yang tidak diinginkan akibat noise mekanik.
2.2 Komponen
1. Arduino
Uno R3
Arduino Uno R3 adalah papan
mikrokontroler berbasis ATmega328P yang menjadi unit pemroses utama dalam
sistem ini. Board ini bertanggung jawab untuk menjalankan program yang dapat
membaca input dari dua tombol, menerapkan fungsi logika kombinasional NAND, dan
mengirim sinyal kendali ke motor servo. Arduino Uno memiliki 14 pin digital
input/output (6 di antaranya dapat digunakan sebagai output PWM) dan 6 pin
input analog, yang memadai untuk proyek sederhana seperti ini. Keunggulan utama
Arduino Uno adalah ekosistemnya yang luas, kemudahan pemrograman melalui
Arduino IDE, dan dukungan komunitas yang besar. Dalam konteks implementasi
gerbang logika, Arduino berfungsi sebagai pengganti rangkaian gerbang NAND
fisik, di mana logika diimplementasikan secara software melalui
kode program
2. Tombol
Push-Button (2 buah)
Dua tombol push-button mekanis
berfungsi sebagai antarmuka input pengguna (user interface) yang memungkinkan
operator mengendalikan palang parkir. Secara elektronik, tombol-tombol ini
dihubungkan ke pin digital Arduino (pin 8 dan 9) dengan konfigurasi INPUT_PULLUP,
yang mengaktifkan resistor pull-up internal mikrokontroler.
Konfigurasi ini menyebabkan pin Arduino membaca logika HIGH saat tombol tidak
ditekan dan logika LOW saat tombol ditekan.
3.
Motor Servo
Motor Servo yang digunaan disini
bertipe SG90, berfungsi sebagai aktuator yang mengonversi sinyal listrik dari
Arduino menjadi gerakan mekanis untuk membuka dan menutup palang parkir.
Library Servo.h memungkinkan kontrol presisi dengan menentukan sudut rotasi 0°
untuk posisi palang tertutup dan 90° untuk posisi terbuka. Servo dipilih karena
kemampuannya memberikan torsi yang memadai untuk menggerakkan palang model
kecil, akurasi posisi yang baik, dan kemudahan kendali dibandingkan motor DC
biasa. Dalam sistem kendali, servo mewakili elemen output dari fungsi logika
NAND.
4. Kabel Jumper Male-to-Male
Kabel jumper male-to-male merupakan
komponen penghubung yang memiliki konektor logam (pin) berjenis male pada
kedua ujungnya. Kabel ini berfungsi sebagai penghubung konduktif antara
berbagai titik dalam rangkaian pada breadboard, atau antara pin-pin pada
Arduino dengan titik-titik pada breadboard. Secara fisik, kabel ini terdiri
dari kawat tembaga berinsulasi fleksibel dengan panjang bervariasi dan
ujung konektor yang dapat ditancapkan (plug-and-play) ke dalam lubang
breadboard atau pin header. Dalam proyek palang parkir berbasis Arduino ini,
kabel jumper male-to-male digunakan untuk menghubungkan pin-pin digital Arduino
yang berfungsi sebagai input dan output.
5.
Breadboard
Breadboard (atau papan prototipe)
adalah papan dengan pola lubang yang saling terhubung secara internal,
memungkinkan pembuatan rangkaian elektronik sementara tanpa perlu menyolder.
Dalam proyek ini, breadboard berfungsi sebagai platform untuk menghubungkan
semua komponen ke Arduino. Bagian tengah breadboard biasanya digunakan untuk
komponen seperti tombol, dengan strip daya positif dan negatif di sisi kiri dan
kanan untuk mendistribusikan tegangan VCC dan ground dari Arduino. Penggunaan
breadboard sangat penting dalam fase prototipe karena memungkinkan modifikasi
rangkaian dengan cepat dan mudah selama pengembangan dan pengujian.
6. Kabel
USB
Komponen penghubung antara Arduino
Uno dan komputer. Kabel ini memiliki dua fungsi utama: sebagai jalur komunikasi
untuk mengunggah program dari Arduino IDE ke mikrokontroler, dan sebagai sumber
daya yang memberikan tegangan +5V untuk menyalakan seluruh rangkaian termasuk
Arduino dan servo. Dalam proyek palang parkir ini, kabel USB menjadi catu daya
tunggal sehingga sistem menjadi sederhana dan portabel. Kualitas kabel perlu
diperhatikan karena kabel yang terlalu tipis atau panjang dapat menyebabkan
penurunan tegangan dan mengganggu kinerja servo.
BAB
III
PEMBAHASAN
3.1 Alat
dan Bahan
1. Arduino Uno R3
2. Tombol
Push-Button (2 buah)
3. Motor
Servo
4. Kabel
Jumper Male-to-Male (7 buah)
5. Breadboard
6. Kabel
USB
3.2 Langkah-Langkah Perakitan
1. Hubungkan
Power dan Ground
·
Hubungkan pin 5V
Arduino ke strip positif breadboard.
·
Hubungkan pin GND
Arduino ke strip negatif breadboard.
2.
Memasang Tombol Push-Button Pertama
·
Pasang tombol
pertama di tengah breadboard, melintasi alur tengah.
·
Gunakan 2 kabel
jumper:
§ Hubungkan kaki
kiri atas tombol ke pin 8 Arduino.
§ Hubungkan kaki
kanan bawah tombol ke strip negatif breadboard (GND).
3.
Memasang Tombol Push-Button Kedua
·
Pasang tombol
kedua dengan jarak yang cukup dari tombol pertama.
·
Gunakan 2 kabel
jumper:
§ Hubungkan kaki
kiri atas tombol ke pin 9 Arduino.
§ Hubungkan kaki
kanan bawah tombol ke strip negatif breadboard (GND).
4. Menghubungkan
Motor Servo
·
Identifikasi kabel
servo: Merah (VCC), Coklat (GND), Kuning/Jingga (Sinyal).
·
Gunakan 3 kabel
jumper:
§ Hubungkan kabel
merah servo ke strip positif breadboard (5V).
§ Hubungkan kabel
coklat servo ke strip negatif breadboard (GND).
§ Hubungkan kabel
kuning/jingga servo ke pin 10 Arduino.
5.
Verifikasi Rangkaian
SETIAP
TOMBOL HANYA MEMILIKI 2 KABEL:
·
1 kabel ke pin Arduino (8
atau 9)
·
1 kabel ke GND
TIDAK
ADA KABEL dari tombol ke 5V
Servo: Merah hubungkan ke 5V,
Coklat ke GND, Kuning ke Pin 10
6.
Pengujian
· Hubungkan
Arduino ke komputer via USB
· Upload
program lewat Arduino Ide dengan kode:
3.3 Hasil Pengamatan
Berdasarkan percobaan yang telah
dilakukan, sistem palang parkir otomatis berbasis Arduino Uno dengan dua tombol
berhasil dirakit dan diuji. Pengamatan menunjukkan bahwa logika NAND berfungsi
sesuai teori: palang parkir (diwakili oleh motor servo) hanya terbuka ketika
kedua tombol ditekan secara bersamaan. Pada kondisi ini, servo bergerak ke
posisi 0 derajat. Dalam tiga kondisi lainnya, tidak ada tombol yang ditekan,
hanya tombol pertama ditekan, atau hanya tombol kedua ditekan, palang tetap
tertutup dengan servo pada posisi 90 derajat. Respon sistem terhadap input
tombol cepat dan konsisten setelah proses debouncing diterapkan, tanpa adanya
gerakan servo yang tidak diinginkan. Penggunaan konfigurasi INPUT_PULLUP pada
Arduino terbukti menyederhanakan rangkaian fisik secara signifikan,
menghilangkan kebutuhan akan resistor eksternal untuk tombol. Kabel USB mampu
memberikan daya yang cukup untuk menggerakkan servo SG90 tanpa adaptor
tambahan.
Berikut tabel kebenarannya:
|
Tombol A |
Tombol B |
Output NAND (Y) |
Status Servo |
Posisi Palang |
|
0 (Lepas) |
0 (Lepas) |
1 (HIGH) |
ON |
Tertutup (90°) |
|
0 (Lepas) |
1 (Tekan) |
1 (HIGH) |
ON |
Tertutup (90°) |
|
1 (Tekan) |
0 (Lepas) |
1 (HIGH) |
ON |
Tertutup (90°) |
|
1 (Tekan) |
1 (Tekan) |
0 (LOW) |
OFF |
Terbuka (0°) |
Simbol
Gerbang Logika NAND:
Gambar 8. Simbol Gerbang Logika NAND
Hasil dokumentasi:
BAB
IV
PENUTUP
4.1 Kesimpulan
Proyek pembuatan palang parkir otomatis
menggunakan Arduino Uno dengan dua tombol telah berhasil diwujudkan. Sistem ini
membuktikan bahwa gerbang logika NAND dapat diterapkan melalui pemrograman
untuk menciptakan mekanisme keamanan sederhana. Hasilnya, palang hanya terbuka
ketika kedua tombol ditekan bersamaan, sesuai dengan prinsip two-man rule yang
meningkatkan keamanan. Penggunaan konfigurasi INPUT_PULLUP berhasil
menyederhanakan rangkaian fisik, sementara motor servo bekerja dengan andal
sebagai penggerak palang. Keseluruhan sistem beroperasi sesuai teori dan dapat
menjadi dasar pengembangan otomasi yang lebih kompleks.
4.2 Saran
Untuk pengembangan selanjutnya, sistem dapat ditambahkan sensor untuk membuka palang secara otomatis saat mendeteksi kendaraan. Penggunaan motor dengan daya lebih besar diperlukan jika ingin diaplikasikan pada palang berukuran sebenarnya. Sistem juga dapat diperluas dengan menambahkan display untuk informasi parkir, sistem pencacah kendaraan, atau antarmuka keamanan seperti kartu RFID. Agar lebih rapi dan permanen, rangkaian pada breadboard dapat diganti dengan PCB custom. Dengan berbagai penyempurnaan ini, sistem dapat dikembangkan menjadi solusi parkir otomatis yang lebih lengkap dan siap digunakan di lingkungan nyata.
DAFTAR PUSTAKA
Banzi, M., &
Shiloh, M. (2022). Getting Started with Arduino (4th ed.). Maker Media,
Inc.
Monk, S. (2020). Programming
Arduino: Getting Started with Sketches (3rd ed.). McGraw-Hill Education.
Margolis, M.
(2020). Arduino Cookbook (3rd ed.). O'Reilly Media.
Jurnal Terbitan Teknokrat. (2025). Rancang Bangun Sistem Pintu Parkir Otomatis Berbasis Arduino Uno. https://publikasi.teknokrat.ac.id/index.php/jtst/article/download/442/173/
Dicoding Blog. (2023). Gerbang Logika dan Tabel Kebenaran. Dicoding. https://www.dicoding.com/blog/gerbang-logika-dan-tabel-kebenaran/
Scribd. (2025). Smart Parking System Berbasis Arduino. https://id.scribd.com/document/384814755/Smart-Parking-System-Berbasis-Arduino
Tidak ada komentar:
Posting Komentar