#include <DHT.h>
const int dhtPin = 4;
const int ledPin = 2;
const int ultrasonicTrig = 5;
const int ultrasonicEcho = 18;
DHT dht(dhtPin, DHT22);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(ledPin, OUTPUT);
pinMode(ultrasonicTrig, OUTPUT);
pinMode(ultrasonicEcho, INPUT);
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
long duration, distance;
digitalWrite(ultrasonicTrig, LOW);
delayMicroseconds(2);
digitalWrite(ultrasonicTrig, HIGH);
delayMicroseconds(10);
digitalWrite(ultrasonicTrig, LOW);
duration = pulseIn(ultrasonicEcho, HIGH);
distance = (duration / 2) / 29.1;
if ((temperature > 39) & (distance > 200)) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
Serial.print("Temperature: ");
Serial.println(temperature);
Serial.print("Humidity: ");
Serial.println(humidity);
Serial.print("Distance: ");
Serial.println(distance);
delay(1000);
}