#include "DHTesp.h"
#include <ESP32Servo.h>
// ----------- PIN DEFINITIONS -----------
#define LDR_PIN 34
#define LED_PIN 5
#define DHT_PIN 13
#define RELAY_PIN 27
#define SERVO_PIN 26
DHTesp dhtSensor;
Servo fan;
void setup() {
Serial.begin(115200);
pinMode(LDR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
fan.attach(SERVO_PIN, 500, 2400); // Important for ESP32
fan.write(0);
}
void loop() {
// 🌙 STREET LIGHT
int ldrValue = analogRead(LDR_PIN);
if (ldrValue < 2000) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
// 🌡 SMART AC
TempAndHumidity data = dhtSensor.getTempAndHumidity();
if (data.temperature > 30) {
digitalWrite(RELAY_PIN, HIGH);
fan.write(180);
} else {
digitalWrite(RELAY_PIN, LOW);
fan.write(0);
}
delay(2000);
}