#include <DHTesp.h>
// ---------- PIN CONFIGURATION ----------
#define TRIG_PIN 5
#define ECHO_PIN 18
#define GAS_PIN 34
#define DHT_PIN 4
#define PIR_PIN 27
#define LDR_PIN 35
// ---------------------------------------
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
// Ultrasonic
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
// Gas sensor
pinMode(GAS_PIN, INPUT);
// DHT22
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
// PIR
pinMode(PIR_PIN, INPUT);
// LDR
pinMode(LDR_PIN, INPUT);
Serial.println("Sensor System Started");
}
void loop() {
// ========== ULTRASONIC ==========
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.0343 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// ========== GAS SENSOR ==========
int gasValue = analogRead(GAS_PIN);
Serial.print("Gas Value: ");
Serial.println(gasValue);
// ========== DHT22 ==========
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.print("Temperature: ");
Serial.print(data.temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(data.humidity);
Serial.println(" %");
// ========== PIR ==========
int pirValue = digitalRead(PIR_PIN);
if (pirValue == HIGH) {
Serial.println("Motion: DETECTED");
} else {
Serial.println("Motion: NOT DETECTED");
}
// ========== LDR ==========
int ldrValue = analogRead(LDR_PIN);
Serial.print("LDR Value: ");
Serial.println(ldrValue);
Serial.println("-------------------------");
delay(1000);
}