const int trigPin = 7; // Pin trigger sensor jarak
const int echoPin = 6; // Pin echo sensor jarak
const int ldrPin = A0; // Pin sensor cahaya LDR
const int ledPin = 8; // Pin LED
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
// Pengukuran jarak menggunakan sensor jarak
float distance = measureDistance();
// Pembacaan intensitas cahaya menggunakan LDR
int lightIntensity = analogRead(ldrPin);
// Jika jarak lebih pendek dari ambang batas dan intensitas cahaya rendah
if (distance < 50 && lightIntensity < 300) {
digitalWrite(ledPin, HIGH); // Nyalakan LED
} else {
digitalWrite(ledPin, LOW); // Matikan LED
}
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
Serial.print("Intensitas Cahaya: ");
Serial.println(lightIntensity);
delay(1000);
}
float measureDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float distance_cm = duration * 0.034 / 2.0;
return distance_cm;
}