#define BLYNK_TEMPLATE_ID "TMPL61FiDTn-q"
#define BLYNK_TEMPLATE_NAME "ESP32 with DHT22"
#define BLYNK_AUTH_TOKEN "e4eQoEA_2Iu2D9jCp3ZgzAs7Acm_e4fX"
#include <ESP32Servo.h>
#include <DHT.h>
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#define DHT_PIN 4 // Pin data DHT22 terhubung ke pin 4
#define DHT_TYPE DHT22 // Tipe sensor DHT22
#define LED_PIN 2 // Pin LED RED terhubung ke pin 2
#define LED_PIN_BLUE 12 // Pin LED terhubung ke pin 12
#define SERVO_PIN 5 // Pin servo terhubung ke pin 5
char auth[] = BLYNK_AUTH_TOKEN; // Masukkan token Blynk Anda
char ssid[] = "Wokwi-GUEST"; // Masukkan nama SSID WiFi Anda
char pass[] = ""; // Masukkan kata sandi WiFi Anda
DHT dht(DHT_PIN, DHT_TYPE);
#define VIRTUAL_PIN_HUMIDITY V0
#define VIRTUAL_PIN_TEMP V1
Servo myservo;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(LED_PIN, OUTPUT);
pinMode(LED_PIN_BLUE, OUTPUT);
myservo.attach(SERVO_PIN);
Blynk.begin(auth, ssid, pass);
}
s
void loop() {
Blynk.run();
delay(2000); // Delay untuk stabilisasi pembacaan sensor
float humidity = dht.readHumidity(); // Membaca kelembapan dari sensor
if (humidity < 50) {
digitalWrite(LED_PIN, HIGH); // LED merah menyala jika kelembapan kurang dari 30 derajat
digitalWrite(LED_PIN_BLUE, LOW); // LED biru mati jika kelembapan kurang dari 30 derajat
myservo.write(90); // Servo berputar 90 derajat
Serial.println("Suhu Kurang dari 30 derajat");
} else {
digitalWrite(LED_PIN_BLUE, HIGH); // Hidupkan LED jika kelembapan lebih dari atau sama dengan 30 derajat
digitalWrite(LED_PIN, LOW); // Matikan LED jika kelembapan lebih dari atau sama dengan 30 derajat
myservo.write(0); // Servo kembali ke posisi awal
Serial.println("Suhu 30 derajat atau lebih");
}
Serial.print(F("Humidity: "));
Serial.print(humidity);
Blynk.virtualWrite(V0, humidity); // Kirim kelembapan ke widget Blynk
delay(1000); // Delay sebelum membaca ulang sensor
}