#include <ESP32Servo.h>
#include <DHT.h>
#define DHTPIN 13 // Pin yang terhubung ke sensor DHT22
#define DHTTYPE DHT22 // Jenis sensor DHT22
#define LED_PIN 21 // Pin LED built-in pada Arduino
#define SERVO_PIN 23 // Pin untuk servo motor
#define RELAY_PIN 17 // Pin untuk relay
DHT dht(DHTPIN, DHTTYPE);
Servo myservo;
void setup() {
Serial.begin(9600);
dht.begin();
myservo.attach(SERVO_PIN);
pinMode(LED_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
delay(2000); // Tunggu 2 detik untuk pembacaan sensor
float temperature = dht.readTemperature(); // Baca suhu dari sensor DHT22
Serial.print("Suhu: ");
Serial.println(temperature);
if (temperature > 36.0) {
digitalWrite(RELAY_PIN, HIGH); // Relay ON
digitalWrite(LED_PIN, LOW);
for (int pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
for (int pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
} else if (temperature > 34.0) {
digitalWrite(RELAY_PIN, HIGH); // Relay ON
digitalWrite(LED_PIN, HIGH); // Hidupkan lampu LED merah
myservo.write(90); // Posisikan servo ke tengah (90 derajat)
} else {
digitalWrite(RELAY_PIN, LOW); // Relay OFF
digitalWrite(LED_PIN, LOW); // Matikan lampu LED merah
myservo.write(90); // Posisikan servo ke tengah (90 derajat)
}
}