const int triggerPin = 8;
const int echoPin = 9;
const int LED1_PIN = 2;
const int LED2_PIN = 4;
const int LED3_PIN = 7;
long durasi;
int jarak;
void setup() {
pinMode(triggerPin, OUTPUT);
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(LED3_PIN, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
durasi = pulseIn(echoPin, HIGH);
jarak = durasi * 0.034/2;
if (jarak > 30) {
digitalWrite(LED1_PIN, HIGH);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
} else if (jarak <= 30 && jarak > 20) {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, HIGH);
digitalWrite(LED3_PIN, LOW);
} else {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, HIGH);
}
// Menampilkan jarak pada Serial Monitor
Serial.print("Jarak: ");
Serial.print(jarak);
Serial.println("cm");
// Menunggu selama 500 milidetik sebelum mengulangi loop
delay(500);
}