Anda di halaman 1dari 7

Bintang Indra Maulana

Teknik Telekomunikasi
Mahasiswa Praktik Kerja Lapangan

Prototype Sensor Parkir Pada Mobil

A. Latar Belakang
Semakin berkembangnya zaman kebutuhan pokok manusia pun semakin meningkat.
Oleh karnanya kebutuhan akan transportasi pun mengalami peningkatan sejak awal
mula dibuatnya transportasi pribadi yang hanya dapat dimiliki orang orang kalangan
atas hingga sekarang orang orang kalangan menengah kebawah pun tak jarang yang
mampu meminang transportasi pribadi salah satunya berupa mobil. Awalnya mobil
hanya dirancang untuk menempuh perjalanan jauh supaya terhindar dari panas dan
hujan, namun sekarang mobil dirancang tidak hanya untuk itu. Dengan pesatnya
peningkatan di bidang teknologi, kini mobil juga mendapankan perhatian khusus di
bidang keamanannya, salah satu fitur keamanan di mobil adalah sensor parkir yang
mempermudah pengemudinya dalam melakukan parkir. Hal ini lah yang melatar
belakangi saya untuk membuat prototype sensor parkir pada moobil yang berbasis
Arduino Nano dan sensor ultrasonic.

B. Tujuan
Alat ini dibuat untuk memudahkan pengemudi mobil dalam melakukan parkir, sehingga
pengemudi dapat mengetahui dengan jarak antara mobil dengan benda di sekitarnya
dengan valid.

C. Alat & Bahan


1) Arduino Nano Atmega328P-Old Bootloader
2) HC-SR04 Ultrasonic Distance Sensor
3) LCD 16x2 I2C
4) Push Button
5) Buzzer
6) Breadboard
7) Kabel Jumper

D. Perancangan
Berikut adalah langkah-langkah perancangan prototype sensor parkir pada mobil :
1. Siapkan Arduino Nano beserta alat alat yang dibutuhkan.
2. Hubungkan Arduino Nano dengan Breadboard hal ini diperlukan karena kita akan
membutuhkan jumlah port yang cukup banyak pada bagian Ground dan pin 5v.
3. Hubungkan sensor Ultrasonic pada board menggunnaakan kabel jumper dengan
konfigurasi pin vcc dihubungkan ke pin 5v, pin GND dihubungkan dengan pin GND
pada board, TRIG pin dihubungkan ke pin 2 (bebas), dan ECHO pin dihubungkan ke
pin 3 (bebas).
4. Selanjutnya hubungkan LCD I2C pada board menggunakan kabel jumper dengan
konfigurasi lakukan Langkah yang sama dengan cara yang sebelumnya pada bagian
pin vcc dan GND, selanjutnya untuk pin SDA hubungkan ke pin A4, dan pin SCL
dihubungkan ke pin A5.
5. Lalu hubungkan push button pada board menggunakan kabel jumper dengan
menghubungkan salah satu kaki push button ke pin ground (GND) pada board dan
untuk ujung dari arah yang berlawanan disambungkan ke pin 4 (bebas).
6. Yang terakhir hubungkan buzzer pada board dengan menggunakan kabel jumper
dengan menghubungkan kaki positif ke pin 6 (bebas) dan kaki yang lainnya ke pin
ground (GND)

E. Source Code
1) #include <Wire.h>
2) #include <LiquidCrystal_I2C.h>
3)
4) // Pin Ultrasonik
5) const int trigPin = 2;    // Pin trigger ultrasonik
6) const int echoPin = 3;    // Pin echo ultrasonik
7)
8) // Pin Buzzer
9) const int buzzerPin = 6;  // Pin buzzer
10)
11) // Pin Tombol
12) const int buttonPin = 4;  // Pin tombol
13)
14) // Inisialisasi objek LCD
15) LiquidCrystal_I2C lcd(0x27, 16, 2);  // Alamat I2C LCD: 0x27,
Ukuran: 16 kolom, 2 baris
16)
17) // Variabel global
18) int buttonState = 0;
19) int previousButtonState = 0;
20) int buzzerSpeed = 0;
21) bool systemOn = false;
22) unsigned long previousMillis = 0;
23) unsigned long buzzerInterval = 0;
24) int buzzerState = LOW;
25)
26) void setup() {
27)   // Mengatur pin ultrasonik
28)   pinMode(trigPin, OUTPUT);
29)   pinMode(echoPin, INPUT);
30)
31)   // Mengatur pin buzzer
32)   pinMode(buzzerPin, OUTPUT);
33)
34)   // Mengatur pin tombol
35)   pinMode(buttonPin, INPUT_PULLUP);
36)
37)   // Inisialisasi LCD
38)   lcd.begin(16, 2);
39)   lcd.backlight();
40)
41)   // Mengatur kecepatan transmisi Serial
42)   Serial.begin(9600);
43) }
44)
45) void loop() {
46)   // Membaca status tombol
47)   buttonState = digitalRead(buttonPin);
48)
49)   // Memeriksa apakah tombol ditekan
50)   if (buttonState != previousButtonState) {
51)     if (buttonState == LOW) {
52)       // Mengubah status sistem
53)       systemOn = !systemOn;
54)       delay(50);
55)     }
56)   }
57)
58)   // Menyimpan status tombol sebelumnya
59)   previousButtonState = buttonState;
60)
61)   // Memeriksa apakah sistem menyala
62)   if (systemOn) {
63)     // Mengirimkan sinyal ultrasonik
64)     digitalWrite(trigPin, LOW);
65)     delayMicroseconds(2);
66)     digitalWrite(trigPin, HIGH);
67)     delayMicroseconds(10);
68)     digitalWrite(trigPin, LOW);
69)
70)     // Menerima pulsa ultrasonik
71)     long duration = pulseIn(echoPin, HIGH);
72)
73)     // Menghitung jarak berdasarkan waktu terbang ultrasonik
74)     int distance = duration * 0.034 / 2;
75)
76)     // Menampilkan jarak pada LCD
77)     lcd.setCursor(1, 0);
78)     lcd.print("Jarak: ");
79)     lcd.print(distance);
80)     lcd.print(" cm");
81)
82)     // Mengatur kecepatan ketukan buzzer berdasarkan jarak
83)     buzzerSpeed = map(distance, 0, 20, 100, 200);
84)
85)     // Memainkan bunyi buzzer
86)     if (distance < 30) {
87)       if (millis() - previousMillis >= buzzerInterval) {
88)         previousMillis = millis();
89)         if (buzzerState == LOW) {
90)           buzzerState = HIGH;
91)           buzzerInterval = buzzerSpeed;
92)           tone(buzzerPin, 1000);
93)         } else {
94)           buzzerState = LOW;
95)           buzzerInterval = buzzerSpeed;
96)           noTone(buzzerPin);
97)         }
98)       }
99)     } else {
100)       noTone(buzzerPin);
101)     }
102)
103)     // Menampilkan jarak pada Serial Monitor
104)     Serial.print("Jarak: ");
105)     Serial.print(distance);
106)     Serial.println(" cm");
107)
108)     // Menghapus pesan "Parkir Aktif" pada LCD
109)     lcd.setCursor(0, 1);
110)     lcd.print("              ");
111)      lcd.setCursor(0, 0);
112)     lcd.print("              ");
113)   } else {
114)     // Mematikan buzzer
115)     noTone(buzzerPin);
116)
117)     // Menampilkan pesan "Parkir Aktif" pada LCD saat sistem
dimatikan
118)     lcd.setCursor(0, 0);
119)     lcd.print("      off      ");
120)         lcd.setCursor(0, 1);
121)     lcd.print("              ");
122)   }
123)
124)   delay(10);
125) }

F. Simulasi

1. Saat pertama kali dinyalakan lcd akan menunjukan kata “off” yang berarti system
belum dihidupkan.
2. Setelah push button ditekan maka ultrasonic dan buzzer akan bekerja dan lcd dan
serial monitor akan menampilkan jarak antara benda dengan sensor. Pada situasi ini
disimulasikan bahwa benda berada 40 cm di depan ultrasonic, buzzer tidak berbunyi
karena buzzer disetting supaya berbunyi saat benda berada di depan ultrasonic
sejauh 30 cm sampai 2 cm

.
3. Setelah mengatur jarak benda sama dengan atau dibawah 30 cm buzzer akan
berbunyi dan semakin dekaat jarat makan ketukan suara buzzer akan lebih cepat hal
tersebut dimaksudkan supaya pengemudi dapat mengetahui bahwa mobil yang
dikemudikannya semakin dekat dengan benda di dekatnya.

Anda mungkin juga menyukai