// Created by Irham Azhari Aulia
// Menentukan pin untuk sensor dan LED
int trigPin = 3;
int echoPin = 2;
int ledMerah = 10;
int ledHijau = 9;
void setup() {
// Memulai komunikasi serial agar kita bisa melihat angka jarak di layar
Serial.begin(9600);
// Mengatur status pin
pinMode(trigPin, OUTPUT); // TRIG memancarkan sinyal
pinMode(echoPin, INPUT); // ECHO menerima pantulan sinyal
pinMode(ledMerah, OUTPUT);
pinMode(ledHijau, OUTPUT);
}
void loop() {
// 1. Memerintahkan sensor memancarkan gelombang ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 2. Membaca waktu pantulan gelombang
long duration = pulseIn(echoPin, HIGH);
// 3. Menghitung jarak ke dalam satuan Centimeter (cm)
int distance = duration * 0.034 / 2;
// 4. Menampilkan hasil jarak ke Serial Monitor (Layar bawah Wokwi)
Serial.print("Jarak Benda: ");
Serial.print(distance);
Serial.println(" cm");
// 5. Logika Radar Parkir (Kondisi LED)
if (distance < 50) {
// JIKA jarak benda DI BAWAH 50 cm (Bahaya/Dekat)
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, LOW);
} else {
// JIKA jarak benda DI ATAS 50 cm (Aman/Jauh)
digitalWrite(ledMerah, LOW);
digitalWrite(ledHijau, HIGH);
}
// Jeda sejenak sebelum membaca ulang
delay(100);
}