#include <DHT.h>
#include <Servo.h>
#define DHTPIN 2
#define DHTTYPE DHT22 // Menggunakan DHT22
DHT dht(DHTPIN, DHTTYPE);
Servo myServo; // Membuat objek Servo
const int ldrPin = A0;
const int servoPin = 9; // Pin untuk servo
const int servoAngleOnHot = 90; // Sudut servo ketika suhu > 20°C
const int servoAngleOff = 0; // Sudut servo ketika suhu <= 20°C
const float thresholdTemperature = 20.0; // Suhu ambang batas
void setup() {
Serial.begin(9600);
dht.begin();
myServo.attach(servoPin); // Menghubungkan pin servo ke objek Servo
myServo.write(servoAngleOff); // Mengatur posisi awal servo
}
void loop() {
float temperature = dht.readTemperature();
if (!isnan(temperature)) {
Serial.print("Suhu: ");
Serial.println(temperature);
if (temperature > thresholdTemperature) {
// Jika suhu lebih dari thresholdTemperature, atur servo ke 90 derajat
myServo.write(servoAngleOnHot);
} else {
// Jika suhu kurang dari atau sama dengan thresholdTemperature, atur servo ke posisi awal
myServo.write(servoAngleOff);
}
} else {
Serial.println("Gagal membaca suhu.");
}
delay(2000); // Tunggu 2 detik sebelum pembacaan berikutnya
int ldrValue = analogRead(ldrPin);
Serial.print("Nilai LDR: ");
Serial.println(ldrValue);
int servoAngle = map(ldrValue, 0, 1023, 0, 180); // Map nilai LDR ke sudut servo
myServo.write(servoAngle);
delay(1000);
}