from machine import Pin, ADC, PWM
import time

LDR_PIN = ADC(Pin(34))  # Chân đọc LDR
LDR_PIN.atten(ADC.ATTN_11DB)  # Thiết lập dải đo
LED = Pin(5, Pin.OUT)  # Chân LED
SERVO = PWM(Pin(12), freq=50)  # Chân Servo

def set_servo_angle(angle):
    duty = int((angle / 180.0) * 102 + 26)  # Tính giá trị duty cho servo
    SERVO.duty(duty)

while True:
    ldr_value = LDR_PIN.read()  # Đọc giá trị từ LDR
    #print("LDR Value:", ldr_value)

    if ldr_value < 2000:  # Ngưỡng LDR, điều chỉnh tùy thuộc vào điều kiện ánh sáng
        LED.on()  # Bật LED
        set_servo_angle(90)  # Mở cửa (90 độ)
        time.sleep(5)  
        set_servo_angle(0)  # Đóng cửa (0 độ)
    else:
        LED.off() 
    
    time.sleep(1)