#include <DHT.h>
#define DHTPIN 2 // Pin for the DHT sensor
#define DHTTYPE DHT11 // DHT 11
#define TRIG_PIN 9 // Pin for the Ultrasonic sensor's TRIG
#define ECHO_PIN 10 // Pin for the Ultrasonic sensor's ECHO
#define LED_PIN 13 // Pin for the LED
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Read temperature
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Read distance from ultrasonic sensor
long duration, distance;
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.034 / 2; // Calculate distance in cm
// Print sensor readings to Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" *C, Humidity: ");
Serial.print(humidity);
Serial.print(" %, Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Control LED based on distance
if (distance < 50) { // Example condition: if an object is within 50 cm
digitalWrite(LED_PIN, HIGH); // Turn on LED
} else {
digitalWrite(LED_PIN, LOW); // Turn off LED
}
// Control LED based on temperature (example condition)
if (temperature > 30) { // Example condition: if temperature is greater than 30°C
digitalWrite(LED_PIN, HIGH); // Turn on LED
} else {
digitalWrite(LED_PIN, LOW); // Turn off LED
}
delay(2000); // Wait for 2 seconds before repeating the loop
}