#include <DHT.h>
#define PIR_PIN 23
#define LDR_PIN 34
#define DHT_PIN 4
#define DHTTYPE DHT22
#define UV_RELAY 25
#define ULTRASONIC_RELAY 26
DHT dht(DHT_PIN, DHTTYPE);
void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
pinMode(UV_RELAY, OUTPUT);
pinMode(ULTRASONIC_RELAY, OUTPUT);
digitalWrite(UV_RELAY, LOW);
digitalWrite(ULTRASONIC_RELAY, LOW);
dht.begin();
}
void loop() {
int pirState = digitalRead(PIR_PIN);
int ldrValue = analogRead(LDR_PIN);
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.print("PIR: ");
Serial.print(pirState);
Serial.print(" | LDR: ");
Serial.print(ldrValue);
Serial.print(" | Temp: ");
Serial.print(t);
Serial.print(" °C | Humidity: ");
Serial.println(h);
// Example logic: turn on UV lamp if night (low LDR)
if (ldrValue < 2000) {
digitalWrite(UV_RELAY, HIGH);
} else {
digitalWrite(UV_RELAY, LOW);
}
// Example logic: turn on Ultrasonic if PIR detects motion
if (pirState == HIGH) {
digitalWrite(ULTRASONIC_RELAY, HIGH);
} else {
digitalWrite(ULTRASONIC_RELAY, LOW);
}
delay(2000);
}