#define TRIG_PIN 12
#define ECHO_PIN 14
#define LED_PIN 23
#define BUZZER_PIN 18
long duration;
float distance;
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
// Kirim sinyal ultrasonik
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Baca pantulan
duration = pulseIn(ECHO_PIN, HIGH);
// Hitung jarak (cm)
distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
// LOGIC SENSOR PARKIR
if (distance > 50) {
// Aman
digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN);
}
else if (distance > 20) {
// Waspada
digitalWrite(LED_PIN, HIGH);
// delay(5000);
tone(BUZZER_PIN, 1000);
delay(500);
noTone(BUZZER_PIN);
delay(500);
}
else {
// Bahaya
digitalWrite(LED_PIN, HIGH);
// delay(1000);
tone(BUZZER_PIN, 2000);
delay(100);
noTone(BUZZER_PIN);
delay(100);
}
delay(100);
}