#define LED1 4 // กำหนดหมายเลขขา LED เป็น 4
#define LED 5 // กำหนดหมายเลขขา LED เป็น 5
#define ldr 32 // กำหนดหมายเลขขา LDR เป็น 32
float ADC_value = 0.0048828125; // ค่าการแปลง ADC สำหรับการอ่านแอนาล็อก
void setup() {
Serial.begin(9600);
pinMode(ldr, INPUT); // ตั้งค่าขา LDR เป็นแหล่งจ่ายสัญญาณนำเข้า
pinMode(LED, OUTPUT); // ตั้งค่าขา LED เป็นแหล่งจ่ายสัญญาณนำเข้า
pinMode(LED1, OUTPUT); // ตั้งค่าขา LED1 เป็นแหล่งจ่ายสัญญาณนำเข้า
for(int i = 0; i < 3; i++){
digitalWrite(LED1, LOW);
digitalWrite(LED, LOW);
delay(1000); // หน่วงเวลา 1 วินาที
digitalWrite(LED1, HIGH);
digitalWrite(LED, HIGH);
delay(1000); // หน่วงเวลา 1 วินาที
digitalWrite(LED1, LOW);
digitalWrite(LED, LOW);
}
}
void loop() {
for(int i = 0; i < 3; i++){
digitalWrite(LED1, LOW);
delay(2000);
digitalWrite(LED1, HIGH);
delay(2000);}
float ldr_data = analogRead(ldr); // อ่านค่าแอนาล็อกจาก LDR
int lux = int((250.000000/(ADC_value*ldr_data))-50.000000); // คำนวณค่า Lux จากค่าที่ได้
Serial.print("Light Value =" ); //สั่งปริน Light Value
Serial.print(lux);
Serial.println("Lux Unit"); //สั่งปริน Lux Unit
if(lux < 150){
Serial.print("Turn off "); //สั่งปริน trun off
digitalWrite(LED, LOW);
}
else if (lux >= 150){
Serial.print("Turn on "); //สั่งปริน Trun on
digitalWrite(LED, HIGH);
}
}