#include <ESP32Servo.h>
Servo myServo; // Membuat objek servo
// Pin untuk sensor LDR dan Ultrasonic
int ldrPin = 4; // Pin untuk LDR (Analog)
int trigPin = 15; // Pin Trigger HC-SR04
int echoPin = 2; // Pin Echo HC-SR04
// Variabel untuk sensor
long duration;
int distance;
int ldrValue;
int ldroff = 500;
void setup() {
Serial.begin(115200);
// Setup Servo
myServo.attach(16); // Menghubungkan servo ke GPIO 13
// Setup Pin LDR
pinMode(ldrPin, INPUT);
// Setup Pin Ultrasonic
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Membaca nilai LDR (cahaya)
ldrValue = analogRead(ldrPin); // Baca nilai cahaya (0 - 4095)
Serial.print("LDR Value: ");
Serial.println(ldrValue);
// Membaca sensor Ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Menghitung jarak dalam cm
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance > 10) {
myServo.write(0);
delay(500);
myServo.write(30);
delay(500);
myServo.write(60);
delay(500);
myServo.write(90);
delay(500);
myServo.write(120);
delay(500);
myServo.write(150);
delay(500);
myServo.write(180);
delay(500);
myServo.write(150);
delay(500);
myServo.write(120);
delay(500);
myServo.write(90);
delay(500);
myServo.write(60);
delay(500);
myServo.write(30);
delay(500);
}
else {
myServo.write(90);
}
if
}