#include <DHT.h>
#include <ESP32Servo.h>
#include <Adafruit_NeoPixel.h>
#define DHTPIN 12
#define DHTTYPE DHT22
#define SERVO_PIN 2
#define LED_PIN 26
#define PIXEL_PIN 4 // Change if your NeoPixel DIN is on another GPIO
#define NUMPIXELS 16
DHT dht(DHTPIN, DHTTYPE);
Servo servo;
Adafruit_NeoPixel ring(NUMPIXELS, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
dht.begin();
servo.attach(SERVO_PIN);
servo.write(0);
ring.begin();
ring.show();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
Serial.print("Temp: ");
Serial.print(t);
Serial.print(" C Humidity: ");
Serial.println(h);
if (t > 30) {
digitalWrite(LED_PIN, HIGH);
servo.write(90);
for (int i = 0; i < NUMPIXELS; i++) {
ring.setPixelColor(i, ring.Color(255, 0, 0));
}
ring.show();
} else {
digitalWrite(LED_PIN, LOW);
servo.write(0);
ring.clear();
ring.show();
}
delay(2000);
}