#include <Servo.h>
const int LDRPin = A0; // Chân cảm biến quang trở kết nối với A0
const int LEDPin = 8; // Chân đèn LED kết nối với Pin 8
const int threshold = 500; // Ngưỡng để phát hiện ánh sáng yếu (có người đi qua)
Servo myServo; // Đối tượng Servo
void setup() {
pinMode(LEDPin, OUTPUT); // Đặt LED làm đầu ra
myServo.attach(9); // Gán Servo với Pin 9
myServo.write(0); // Đặt vị trí ban đầu của Servo là 0 độ (đóng cửa)
Serial.begin(9600); // Khởi động Serial Monitor
}
void loop() {
int LDRValue = analogRead(LDRPin); // Đọc giá trị từ cảm biến quang trở
Serial.print("Giá trị LDR: ");
Serial.println(LDRValue);
if (LDRValue < threshold) {
// Khi ánh sáng giảm (người đi qua)
digitalWrite(LEDPin, HIGH); // Bật đèn LED
myServo.write(90); // Xoay Servo 90 độ (mở cửa)
} else {
// Khi ánh sáng bình thường (không có người)
digitalWrite(LEDPin, LOW); // Tắt đèn LED
myServo.write(0); // Đặt Servo về vị trí ban đầu (đóng cửa)
}
delay(1000); // Đợi 1 giây trước khi lặp lại
}