// تعريف المداخل والمخارج
const int ldrPin = 34; // مدخل LDR
const int pirPin = 27; // مدخل PIR
const int ledPin = 25; // مخرج LED
// تعريف عتبة الضوء
const int lightThreshold = 1000;
void setup() {
// تهيئة المداخل والمخارج
pinMode(ldrPin, INPUT);
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
// بدء الاتصال التسلسلي للرصد
Serial.begin(115200);
}
void loop() {
// قراءة قيم LDR و PIR
int lightLevel = analogRead(ldrPin);
int motionDetected = digitalRead(pirPin);
// طباعة القيم للرصد
Serial.print("Light Level: ");
Serial.print(lightLevel);
Serial.print(" | Motion Detected: ");
Serial.println(motionDetected);
// شروط التحكم في الإضاءة
if (lightLevel < lightThreshold && motionDetected == HIGH) {
// إذا كان الضوء غير كافي ويوجد حركة، تشغيل الإضاءة
digitalWrite(ledPin, HIGH);
} else {
// في أي حالة أخرى، إطفاء الإضاءة
digitalWrite(ledPin, LOW);
}
// تأخير صغير لتقليل استهلاك المعالجة
delay(100);
}