
Tutorial ESP32: Cara Membuat Jemuran Pintar Otomatis (Smart Clothesline) dengan Fitur Solar Tracking (Cari Matahari) & Sensor Anti Hujan Berbasis Blynk IoT pada WOKWI
Pada bagian ini akan dibahas pembuatan sistem jemuran pintar otomatis (Smart Clothesline) berbasis mikrokontroler ESP32, dua sensor cahaya LDR untuk pelacakan arah matahari (Solar Tracking), sensor pendeteksi hujan, motor servo sebagai penggerak atap atau jemuran, layar LCD 16×2 I2C, serta platform Blynk IoT pada software simulasi WOKWI. Skematik rangkaian ditunjukkan pada Gambar 1, program Arduino pada Kode 1, dan video pembuatan pada tautan Video 1. Sistem secara cerdas melacak intensitas cahaya matahari optimal (menghadap kiri, kanan, atau posisi tengah) ketika kondisi cuaca cerah. Apabila sensor mendeteksi adanya air hujan, sistem secara otomatis menutup atap jemuran untuk mengamankan pakaian, membunyikan log notifikasi darurat ke aplikasi Blynk, serta menyediakan fitur kontrol manual (forced close) jarak jauh via dashboard Blynk.

Gambar 1. Skematik rangkaian sistem
List Pin:
- Sensor Cahaya LDR (Solar Tracking)
LDR Kiri (Analog Input) => GPIO 34 (LDR_KIRI)
LDR Kanan (Analog Input) => GPIO 35 (LDR_KANAN)
VCC => 3.3V
GND => GND - Sensor Hujan (Rain Sensor / Potensiometer Simulasi)
Analog Output (AO) => GPIO 32 (RAIN_PIN)
VCC => 3.3V / 5V
GND => GND - Display LCD 16×2 I2C (Alamat: 0x27)
GND => GND
VCC => 5V / 3.3V
SDA => GPIO 21
SCL => GPIO 22 - Motor Servo Penggerak Jemuran / Atap
Signal (PWM) => GPIO 18 (SERVO_PIN)
VCC => 5V
GND => GND
List Virtual PIN:
- V0 => Lux Kiri (Float) – Datastream Intensitas Cahaya Sisi Kiri dari Sensor LDR Kiri
- V1 => Lux Kanan (Float) – Datastream Intensitas Cahaya Sisi Kanan dari Sensor LDR Kanan
- V2 => Status Jemuran (String) – Menampilkan Status Operasional Sistem (“TRACKING SUN”, “HUJAN! ATAP TUTUP”, atau “FORCED CLOSE HP”)
- V3 => System Mode Switch (Integer 0/1) – Sakelar Kontrol Paksa Tutup Jemuran dari Aplikasi Blynk (0 = Mode Auto, 1 = Paksa Tutup)
Kode Arduino 1. Kode Program
// =============================
// ALFIAN CENTER
// SUBSCRIBE
// Bikin Jemuran Pintar IoT! Otomatis Cari Matahari & Anti Hujan Berbasis ESP32 IoT Blynk (Wokwi)
// PROGRAM BAKAL AKU KIRIM DENGAN SYARAT DIBAWAH
// LIKE 50, KOMEN 30 DAN * WAJIB SUBSCRIBE *
// PROGRAM DIKIRIM VIA KOMENTAR
// =============================
#define BLYNK_TEMPLATE_ID "ID"
#define BLYNK_TEMPLATE_NAME "NAME"
#define BLYNK_AUTH_TOKEN "TOKEN"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>
#define LDR_KIRI 34
#define LDR_KANAN 35
#define RAIN_PIN 32
#define SERVO_PIN 18
const float GAMMA = 0.7;
const float RL10 = 50;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
LiquidCrystal_I2C lcd(0x27, 16, 2);
BlynkTimer timer;
Servo jemuranServo;
int modeSistem = 0; // 0 = Auto, 1 = Paksa Tutup dari HP
int sudutServo = 90; // Posisi awal di tengah
BLYNK_WRITE(V3) {
modeSistem = param.asInt();
}
// Fungsi konversi Lux yang akurat untuk Wokwi
float hitungLux(int pin) {
int nilaiADC = analogRead(pin);
if (nilaiADC >= 4095) nilaiADC = 4094;
float voltage = nilaiADC * 5.0 / 4095.0;
float resistance = 2000 * voltage / (1 - voltage / 5.0);
return pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
}
void prosesJemuran() {
float luxKiri = hitungLux(LDR_KIRI);
float luxKanan = hitungLux(LDR_KANAN);
// Baca simulasi sensor hujan (Potensio)
int nilaiHujan = analogRead(RAIN_PIN);
bool isHujan = (nilaiHujan > 2000); // Jika potensio dilewati setengah, dianggap hujan
String statusJemuran = "";
if (modeSistem == 1) {
statusJemuran = "FORCED CLOSE HP";
sudutServo = 0; // Atap menutup penuh
} else if (isHujan) {
statusJemuran = "HUJAN! ATAP TUTUP";
sudutServo = 0; // Amankan jemuran
Blynk.logEvent("jemuran_alert", "Hujan terdeteksi! Atap jemuran otomatis ditutup.");
} else {
// Logika Tracking Matahari jika cuaca aman
statusJemuran = "TRACKING SUN";
if (abs(luxKiri - luxKanan) > 50.0) { // Beri toleransi agar servo tidak bergetar terus
if (luxKiri > luxKanan) {
sudutServo = 45; // Menghadap Kiri
} else {
sudutServo = 135; // Menghadap Kanan
}
} else {
sudutServo = 90; // Di tengah jika terang merata
}
}
// Gerakkan Servo
jemuranServo.write(sudutServo);
// Kirim data ke Blynk
Blynk.virtualWrite(V0, luxKiri);
Blynk.virtualWrite(V1, luxKanan);
Blynk.virtualWrite(V2, statusJemuran);
// Tampilan LCD
lcd.setCursor(0, 0);
lcd.print("L:"); lcd.print((int)luxKiri);
lcd.print(" R:"); lcd.print((int)luxKanan); lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(statusJemuran.substring(0, 16)); lcd.print(" ");
}
void setup() {
Serial.begin(115200);
ESP32PWM::allocateTimer(0);
jemuranServo.setPeriodHertz(50);
jemuranServo.attach(SERVO_PIN, 500, 2400);
pinMode(LDR_KIRI, INPUT);
pinMode(LDR_KANAN, INPUT);
pinMode(RAIN_PIN, INPUT);
lcd.init();
lcd.backlight();
lcd.print("Smart Clothes...");
Blynk.begin(auth, ssid, pass);
lcd.clear();
timer.setInterval(1000L, prosesJemuran);
}
void loop() {
Blynk.run();
timer.run();
}

Video 1. Video tutorial pembuatan
TAG:
jemuran pintar esp32, smart clothesline iot, jemuran otomatis anti hujan, ldr sun tracker esp32, blynk iot smart clothesline, sensor hujan esp32 blynk, simulasi wokwi jemuran pintar, tutorial esp32 blynk, iot smart home appliances, jemuran otomatis cari matahari, servo motor jemuran esp32, lcd 16×2 i2c esp32, blynk logevent jemuran alert, solar tracking system esp32, tutorial blynk iot esp32, library esp32servo, library liquidcrystal i2c, gpio 34 35 ldr sensor, gpio 32 rain sensor, gpio 18 servo jemuran, proyek iot esp32 rumah pintar, tutorial wokwi indonesia, simulasi iot jemuran otomatis, pemantauan jemuran jarak jauh, blynk app smart clothesline, datastream blynk ldr lux, virtual pin blynk jemuran, smart home iot esp32, proyek teknik elektro iot, mekatronika rumah pintar, tugas akhir iot jemuran, skripsi iot smart clothesline, ide proyek esp32 iot, skematik jemuran pintar esp32, diagram rangkaian ldr rain servo lcd, source code jemuran pintar esp32, program arduino blynk jemuran, simulasi iot tanpa hardware, platform simulasi wokwi, wokwi esp32 smart clothesline, blynk auth token esp32, jemuran otomatis berbasis iot, telemetry data ldr lux, proyek sains iot elektro, portofolio iot esp32, praktikum mikrokontroler esp32, modul esp32 wroom 32, pinout esp32 ldr rain servo, gpio esp32 sensor display, indikator status blynk, kontrol paksa tutup blynk, smart roof esp32, efisiensi rumah tangga pintar, panduan iot jemuran esp32, belajar mikrokontroler online, simulator komponen elektronik, wokwi custom chip esp32, blynk iot platform smart home, internet of things indonesia, iot smk teknik elektro, iot universitas teknik, prototipe jemuran pintar esp32, alat pengontrol jemuran otomatis, iot smart environment, esp32 arduino ide blynk, tutorial iot pemula, proyek elektro smart home, panduan lengkap wokwi blynk, sensor ldr lux akurat, sistem anti hujan otomatis, logika solar tracking ldr, notifikasi blynk logevent jemuran, sistem pengaman jemuran, otomatisasi rumah tangga cerdas, proyek mekatronika elektro, simulasi hardware jemuran pintar, sistem jemuran esp32, proyek iot populer, kodingan jemuran otomatis, sensor hujan digital esp32, rangkaian ldr rain dan servo, tutorial mikrokontroler iot, wawasan teknik elektro, aplikasi iot smart home, jemuran cerdas esp32, koding logika tracking matahari, pemantauan cuaca jemuran real time, iot clothesline management system