#include <DHTesp.h>
// -------- PIN DEFINITIONS --------
#define PIR_PIN 14
#define DHT_PIN 15
#define LDR_PIN 34
#define LED_PIN 12
DHTesp dht;
void setup() {
Serial.begin(115200);
pinMode(PIR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
dht.setup(DHT_PIN, DHTesp::DHT22);
Serial.println("ESP32 Energy Monitoring System Started");
}
void loop() {
// ---- PIR ----
int motion = digitalRead(PIR_PIN);
// ---- LDR ----
int ldrValue = analogRead(LDR_PIN); // 0–4095
// ---- DHT22 ----
TempAndHumidity data = dht.getTempAndHumidity();
// ---- LOGIC ----
if (motion == HIGH) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
// ---- SERIAL OUTPUT ----
Serial.println("------ Sensor Data ------");
Serial.print("Motion: ");
Serial.println(motion ? "Detected" : "No Motion");
Serial.print("Light Intensity (LDR): ");
Serial.println(ldrValue);
Serial.print("Temperature: ");
Serial.print(data.temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(data.humidity);
Serial.println(" %");
Serial.println("-------------------------\n");
delay(2000);
}