const int trigPin = 6; // Pin untuk Trigger Sensor Ultrasonik
const int echoPin = 5; // Pin untuk Echo Sensor Ultrasonik
const int led1 = 4; // Pin untuk LED-1
const int led2 = 3; // Pin untuk LED-2
const int led3 = 2; // Pin untuk LED-3
void setup() {
pinMode(trigPin, OUTPUT); // Set pin trigger sebagai output
pinMode(echoPin, INPUT); // Set pin echo sebagai input
pinMode(led1, OUTPUT); // Set pin LED-1 sebagai output
pinMode(led2, OUTPUT); // Set pin LED-2 sebagai output
pinMode(led3, OUTPUT); // Set pin LED-3 sebagai output
Serial.begin(9600); // Mengaktifkan komunikasi serial
}
void loop() {
long duration, inches, cm, meters;
// Mengirimkan sinyal trigger selama 10 microsecond
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Menerima sinyal echo dan menghitung durasinya
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak dalam inci, cm, dan meter
inches = duration / 74 / 2;
cm = duration / 29 / 2;
meters = cm / 100;
// Menyalakan LED sesuai dengan jarak yang terdeteksi
if (cm >= 2 && cm <= 199) {
digitalWrite(led1, HIGH); // LED-2 menyala
digitalWrite(led2, LOW); // LED-1 mati
digitalWrite(led3, LOW); // LED-3 mati
} else if (cm >= 200 && cm <= 299) {
digitalWrite(led2, HIGH); // LED-1 menyala
digitalWrite(led1, LOW); // LED-2 mati
digitalWrite(led3, LOW); // LED-3 mati
} else if (cm >= 300 && cm <= 400) {
digitalWrite(led3, HIGH); // LED-3 menyala
digitalWrite(led1, LOW); // LED-1 mati
digitalWrite(led2, LOW); // LED-2 mati
}
// Menampilkan jarak yang terdeteksi pada Serial Monitor
Serial.print("Jarak: ");
Serial.print(inches);
Serial.print(" inci / ");
Serial.print(cm);
Serial.print(" cm / ");
Serial.print(meters);
Serial.println(" meter");
delay(500); // Delay 500ms sebelum pengulangan
}