#include "DHT.h"
#define DHTPIN 4
#define DHTTYPE DHT22
#define MQ135_PIN 34
#define RELAY_PIN 26
DHT dht(DHTPIN, DHTTYPE);
// Thresholds (adjust in Wokwi)
float TEMP_LIMIT = 30.0; // Celsius
int GAS_LIMIT = 2000; // ADC value (0–4095)
void setup() {
Serial.begin(115200);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Relay OFF initially
dht.begin();
Serial.println("ESP32 Wokwi Simulation Started");
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
int gasValue = analogRead(MQ135_PIN);
if (isnan(temperature) || isnan(humidity)) {
Serial.println("DHT Sensor Error!");
delay(2000);
return;
}
Serial.println("------ SENSOR VALUES ------");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
Serial.print("Gas Value: ");
Serial.println(gasValue);
// Relay Logic (Peltier + Fan)
if (temperature > TEMP_LIMIT || gasValue > GAS_LIMIT) {
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Relay ON (Cooling / Ventilation ON)");
} else {
digitalWrite(RELAY_PIN, LOW);
Serial.println("Relay OFF");
}
Serial.println("----------------------------\n");
delay(2000);
}