#define trigPin 9
#define echoPin 10
#define ledAman 2
#define led1 3
#define led2 4
#define led3 5
#define buzzer 12
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledAman, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
long duration, distance;
// Kirim sinyal trigger ke sensor ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Hitung jarak berdasarkan waktu pantulan
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
Serial.print("DURASI: ");
Serial.print(duration);
Serial.print(" , JARAK: ");
Serial.println(distance);
// Matikan semua LED dan buzzer terlebih dahulu
digitalWrite(ledAman, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(buzzer, LOW);
// Logika berdasarkan jarak
if (distance >= 16) {
digitalWrite(ledAman, HIGH);
}
else if (distance <= 15 && distance >= 10) {
digitalWrite(led1, HIGH);
}
else if (distance < 10 && distance >= 5) {
digitalWrite(led2, HIGH);
}
else if (distance < 5) {
digitalWrite(led3, HIGH);
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(led3, LOW);
digitalWrite(buzzer, LOW);
delay(200);
}
delay(100);
}

.png)
