#include <ESP32Servo.h>
int ldr = 2;
int ledPin = 4;
int val;
int servoPosition=0;
Servo myservo;
void setup() {
// put your setup code here, to run once:
myservo.attach(15);
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
Serial.println("Hello, ESP32!");
}
void loop() {
val = digitalRead(ldr);
Serial.println("Light Level: " + String(val));
if (val == 1) {
// หากแสงสว่างน้อย หมุน servo จาก 180 ลงมาจนถึง 0 องศา
while (servoPosition > 0) {
servoPosition--;
myservo.write(servoPosition);
delay(15);
}
Serial.println("Servo: " + String(servoPosition));
digitalWrite(ledPin, HIGH);
} else {
// หากแสงสว่างมาก หมุน servo จาก 0 ขึ้นไปจนถึง 180 องศา
while (servoPosition < 180) {
servoPosition++;
myservo.write(servoPosition);
delay(15);
}
Serial.println("Servo: " + String(servoPosition));
digitalWrite(ledPin, LOW);
}
delay(1000); // ลดค่า Delay เพื่อให้ Servo Motor หมุนแม่นยำ
}