#include <DHT.h>
#define PIR_PIN 2
#define LDR_PIN A0
#define RELAY_PIN 8
#define DHT_PIN 4
#define DHT_TYPE DHT11
DHT dht(DHT_PIN, DHT_TYPE);
void setup() {
Serial.begin(9600);
pinMode(PIR_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
dht.begin();
}
void loop() {
int ldrValue = analogRead(LDR_PIN);
bool motionDetected = digitalRead(PIR_PIN);
if (motionDetected && ldrValue < 500) {
digitalWrite(RELAY_PIN, HIGH); // Turn on the light
} else {
digitalWrite(RELAY_PIN, LOW); // Turn off the light
}
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.print(" %, LDR: ");
Serial.println(ldrValue);
delay(1000);
}