#include <DHT.h> // Include DHT library
#define DHTPIN 2 // Define the pin for DHT sensor data (changed to pin 2)
#define DHTTYPE DHT22 // Define the type of DHT sensor you're using
// Define ultrasonic sensor pins
#define TRIGGER_PIN 3
#define ECHO_PIN 4
// Define LDR sensor pin
#define LDR_PIN A0
// Initialize DHT sensor
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
// Start serial communication
Serial.begin(9600);
// Initialize the DHT sensor
dht.begin();
// Set ultrasonic sensor pins as outputs and inputs
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop()
{
// Measure distance using ultrasonic sensor
long duration, distance;
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1; // Calculate distance in centimeters
// Read LDR sensor
int ldrValue = analogRead(LDR_PIN);
// Read temperature and humidity using DHT sensor
delay(2000); // Increase delay before reading DHT sensor
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Print sensor readings
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm, LDR Value: ");
Serial.print(ldrValue);
Serial.print(", Humidity: ");
Serial.print(humidity);
Serial.print("%, Temperature: ");
Serial.print(temperature);
Serial.println("°C");
// Wait a short delay between measurements
delay(1000);
}