#include <DHT.h>
#include <ESP32Servo.h>
#define DHT_PIN 2 // Pin data sensor DHT22 terhubung ke pin D2 pada ESP32
#define trigPin 2 // Pin trigger HC-SR04 terhubung ke pin D2 pada ESP32
#define echoPin 4 // Pin echo HC-SR04 terhubung ke pin D4 pada ESP32
DHT dht(DHT_PIN, DHT22);
Servo myservo;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.attach(15); // Sambungkan servo ke pin D15
}
void loop() {
delay(2000); // Delay beberapa detik antara pengukuran (misalnya 2 detik)
float suhu = dht.readTemperature();
float kelembaban = dht.readHumidity();
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" °C | Kelembaban: ");
Serial.print(kelembaban);
Serial.println(" %");
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
int distance_cm = duration / 58; // Mengonversi waktu ke jarak dalam cm
Serial.print("Jarak: ");
Serial.print(distance_cm);
Serial.println(" cm");
myservo.write(0); // Putar servo ke posisi 0 derajat
delay(1000); // Tunggu selama 1 detik
myservo.write(90); // Putar servo ke posisi 90 derajat
delay(1000); // Tunggu selama 1 detik
myservo.write(180); // Putar servo ke posisi 180 derajat
delay(1000); // Tunggu selama 1 detik
}