#include "DHTesp.h"
#define ECHO_PIN 12
#define TRIG_PIN 13
int LED1 = 14;
int BUZZER = 2;
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
pinMode(LED1, OUTPUT);
pinMode(BUZZER, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
float readDistanceCM() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
void loop() {
float distance = readDistanceCM();
bool isNearby = distance < 100;
digitalWrite(LED1, isNearby);
Serial.print("Measured distance: ");
Serial.println(readDistanceCM());
Serial.println("---");
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
if((data.temperature>38)&&(data.humidity<20)){
tone(BUZZER, 1000);
Serial.println("BUZZER ON->SUHU PANAS");
} else{
digitalWrite(BUZZER, LOW);
}
delay(1000);
}