const int trigPin = 9;
const int echoPin = 10;
const int ledHijau = 6;
const int ledMerah = 7;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledHijau, OUTPUT);
pinMode(ledMerah, OUTPUT);
Serial.begin(9600);
}
void loop() {
float distance = baca_jarak();
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
if (distance > 20.0) {
digitalWrite(ledHijau, HIGH);
digitalWrite(ledMerah, LOW);
} else if (distance > 10.0) {
digitalWrite(ledHijau, LOW);
digitalWrite(ledMerah, HIGH);
} else {
digitalWrite(ledHijau, LOW);
digitalWrite(ledMerah, HIGH);
delay(200);
digitalWrite(ledMerah, LOW);
delay(200);
}
delay(500);
}
float baca_jarak() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2.0; // Konversi waktu ke jarak dalam cm (menggunakan float)
return distance;
}