// Pin definitions
const int trigPin1 = 13; // Pin Trigger untuk sensor ultrasonik 1
const int echoPin1 = 12; // Pin Echo untuk sensor ultrasonik 1
const int trigPin2 = 14; // Pin Trigger untuk sensor ultrasonik 2
const int echoPin2 = 27; // Pin Echo untuk sensor ultrasonik 2
const int lampPin1 = 25; // Pin untuk Lampu 1
const int lampPin2 = 26; // Pin untuk Lampu 2
// Variabel untuk jarak ultrasonik
long duration1, duration2;
int distance1, distance2;
void setup() {
// Inisialisasi pin lampu sebagai output
pinMode(lampPin1, OUTPUT);
pinMode(lampPin2, OUTPUT);
// Inisialisasi pin ultrasonik 1
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
// Inisialisasi pin ultrasonik 2
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
// Mulai komunikasi serial (opsional)
Serial.begin(115200);
}
void loop() {
// Membaca jarak dari sensor ultrasonik 1
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = duration1 * 0.034 / 2;
// Membaca jarak dari sensor ultrasonik 2
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = duration2 * 0.034 / 2;
// Logika untuk menghidupkan satu lampu saja pada satu waktu
if (distance1 < 10 && distance2 >= 10) {
// Jika sensor 1 mendeteksi objek dan sensor 2 tidak, hidupkan lampu 1
digitalWrite(lampPin1, HIGH);
digitalWrite(lampPin2, LOW); // Pastikan lampu 2 mati
Serial.println("Objek terdeteksi oleh sensor 1, Lampu 1 menyala, Lampu 2 mati");
} else if (distance2 < 10 && distance1 >= 10) {
// Jika sensor 2 mendeteksi objek dan sensor 1 tidak, hidupkan lampu 2
digitalWrite(lampPin2, HIGH);
digitalWrite(lampPin1, LOW); // Pastikan lampu 1 mati
Serial.println("Objek terdeteksi oleh sensor 2, Lampu 2 menyala, Lampu 1 mati");
} else {
// Jika tidak ada objek di kedua sensor, matikan kedua lampu
digitalWrite(lampPin1, LOW);
digitalWrite(lampPin2, LOW);
Serial.println("Tidak ada objek, kedua lampu mati");
}
// Tunggu sebentar sebelum pengecekan ulang
delay(100);
}