#define trigPin 9
#define echoPin 10
#define ledAman 2
#define led1 3
#define led2 4
#define led3 5
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledAman, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, 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 dulu
digitalWrite(ledAman, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
// Kondisi 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) {
// Hanya LED3 berkedip
digitalWrite(led3, HIGH);
delay(200);
digitalWrite(led3, LOW);
delay(200);
return; // keluar dari loop agar tidak delay tambahan di bawah
}
delay(100);
}
0 comments:
Post a Comment