#include <DHT.h>
#define NODE 1
// NODE 1 — DHT22 + Relay
#if NODE == 1
#define DHT_PIN 15
#define DHT_TYPE DHT22
#define RELAY_PIN 26
DHT dht(DHT_PIN, DHT_TYPE);
void setup() {
Serial.begin(115200);
delay(1000);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Relay off by default
dht.begin();
Serial.println("ESP32 #1 ready — DHT22 + Relay");
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("DHT read error!");
delay(2000);
return;
}
Serial.print("Temp: "); Serial.print(temperature); Serial.println(" C");
Serial.print("Humidity: "); Serial.print(humidity); Serial.println(" %");
// Trigger relay if temperature exceeds 22°C
if (temperature > 22.0) {
digitalWrite(RELAY_PIN, HIGH);
Serial.println("Relay ON — temperature threshold exceeded");
} else {
digitalWrite(RELAY_PIN, LOW);
Serial.println("Relay OFF — temperature within range");
}
delay(2000);
}
// NODE 2 — MQ2 Gas Sensor
#elif NODE == 2
#define MQ2_PIN 34
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("ESP32 #2 ready — MQ2 Gas Sensor");
}
void loop() {
int gasRaw = analogRead(MQ2_PIN);
Serial.print("Gas (raw): ");
Serial.println(gasRaw);
delay(2000);
}
#endif