#include <DHT.h>
#define DHTPIN 4 // Pin untuk DHT11
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
const int trigPin = 5; // Pin TRIG HC-SR04
const int echoPin = 18; // Pin ECHO HC-SR04
const int LDRPin = 34; // Pin LDR
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LDRPin, INPUT);
}
void loop() {
// Baca data dari DHT11
float h = dht.readHumidity();
float t = dht.readTemperature();
// Baca data dari HC-SR04
long duration;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2;
// Baca data dari LDR
int lightLevel = analogRead(LDRPin);
// Tampilkan hasil ke Serial Monitor
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C\t");
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm\t");
Serial.print("Light Level: ");
Serial.println(lightLevel);
// Logika membuka penutup otomatis berdasarkan jarak
if (distance < 10) {
// Kode untuk membuka penutup
Serial.println("Opening lid...");
} else {
// Kode untuk menutup penutup
Serial.println("Closing lid...");
}
delay(2000); // Delay 2 detik
}