// Deklarasi pin
const int trigPin = 2; // Pin trigger sensor ultrasonik
const int echoPin = 15; // Pin echo sensor ultrasonik
const int relayPin = 5; // Pin relay
void setup() {
pinMode(trigPin, OUTPUT); // Mengatur pin trigger sebagai output
pinMode(echoPin, INPUT); // Mengatur pin echo sebagai input
pinMode(relayPin, OUTPUT); // Mengatur pin relay sebagai output
digitalWrite(relayPin, LOW); // Relay dimatikan pada awalnya
Serial.begin(9600);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); // Menetapkan pin trigger ke LOW selama 2 mikrodetik
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // Memberikan pulsa HIGH selama 10 mikrodetik
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // Menerima durasi pulsa dari pin echo
distance = (duration * 0.0343) / 2; // Menghitung jarak berdasarkan durasi
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
if (distance < 10) { // Mengaktifkan relay jika jarak kurang dari 10 cm
digitalWrite(relayPin, HIGH);
Serial.println("Relay ON");
} else {
digitalWrite(relayPin, LOW); // Mematikan relay jika jarak lebih dari atau sama dengan 10 cm
Serial.println("Relay OFF");
}
delay(1000); // Delay untuk memberikan waktu antar pengukuran
}