// Definisikan pin yang akan digunakan
#define trigPin 6
#define echoPin 7
void setup() {
// Mengatur pin-mode
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
// Inisialisasi Serial Monitor
Serial.begin(9600);
}
void loop() {
// Mengirimkan sinyal ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Menerima waktu pantul balik sinyal
long duration = pulseIn(echoPin, HIGH);
// Menghitung jarak berdasarkan waktu pantul balik
// Kecepatan suara dalam udara adalah 343 meter/detik
// Jarak = (Waktu * Kecepatan) / 2
float distance = (duration * 0.0343) / 2;
// Menampilkan jarak di Serial Monitor
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm ");
// Mengontrol LED berdasarkan jarak
{if (distance <=80) {
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
if (distance <=50)
{ digitalWrite(12, HIGH);
digitalWrite(13, LOW);
digitalWrite(11, LOW);
}
if (distance <=20)
{ digitalWrite(11, HIGH);
digitalWrite(13, LOW);
digitalWrite(12, LOW);
}
else
if (distance >=100)
{ digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);}
}
delay(1000); } // Jeda 1 detik sebelum membaca ulang jarak