Rancang Bangun Smart Clothes Drying System Berbasis ESP32 untuk Monitoring dan Kendali Otomatis
Ringkasan
Tujuan proyek adalah untuk membuat sistem jemuran pakaian otomatis berbasis ESP32 yang dapat melakukan pengawasan dan pengendalian cerdas. Sistem ini akan membantu pengeringan pakaian lebih efisien dan tidak bergantung pada kondisi cuaca.
ESP32 membaca kondisi lingkungan seperti suhu dan intensitas cahaya dan secara otomatis mengatur kerja sistem sesuai dengan kondisi tersebut. Selain itu, sistem memiliki fitur pemantauan untuk mengetahui kondisi pengeringan.
Sistem ini diharapkan dapat meningkatkan efisiensi waktu, mengurangi risiko pakaian basah, dan menawarkan solusi praktis berbasis teknologi otomatis.
Latar Belakang
Proses pengeringan pakaian biasanya dilakukan secara manual dengan menggunakan sinar matahari, tetapi metode ini memiliki beberapa kelemahan karena bergantung pada cuaca yang tidak menentu, sehingga sering menyebabkan pakaian tidak kering secara efektif.
Dengan kemajuan teknologi mikrokontroler, solusi otomatis dapat dibuat untuk mengatasi masalah tersebut. Project ini bertujuan untuk merancang sistem jemuran otomatis berbasis ESP32 yang dapat meningkatkan efisiensi pengeringan dan memudahkan pengguna. Ini karena ESP32 memungkinkan sistem untuk memantau kondisi lingkungan dan mengontrol jemuran secara otomatis.
Tujuan
Tujuan project ini adalah untuk membuat sistem jemuran pakaian otomatis berbasis ESP32 yang dapat mengontrol dan memonitor kondisi lingkungan secara otomatis dan melakukannya. Sistem ini juga bertujuan untuk meningkatkan efisiensi proses pengeringan pakaian, mengurangi ketergantungan terhadap cuaca, dan membuat aktivitas sehari-hari lebih mudah bagi pengguna.
Manfaat
Manfaat dari project ini adalah dapat membantu pengguna mengeringkan pakaian dengan lebih efisien dan praktis tanpa bergantung sepenuhnya pada kondisi cuaca. Selain itu, sistem ini dapat mengurangi kemungkinan pakaian tidak kering atau terkena hujan, dan prosesnya dapat diotomatisasi. Selain itu, dari perspektif teknologi, proyek ini dapat berfungsi sebagai sarana untuk memberikan pelajaran tentang penerapan mikrokontroler dan sistem otomatis dalam kehidupan sehari-hari.
Alat dan Bahan
Alat dan Bahan :
- ESP32
- Sensor DHT11
- Sensor LDR
- Sensor Hujan
- Motor Servo
- Buzzer
- Relay Module
- Breadboard
- Kabel Jumper
- Adaptor
- Laptop + Arduino IDE
- Kardus + Kayu kecil + Lem
Metodologi
- Siapkan semua alat dan bahan yang diperlukan.
- Buat kerangka prototype menggunakan kardus sebagai bentuk rumah.
- Gunakan kayu kecil sebagai penopang jemuran dan dudukan motor servo.
- Rekatkan bagian-bagian kerangka menggunakan lem hingga kokoh.
- Pasang motor servo pada bagian jemuran yang dapat bergerak.
- Pasang ESP32 pada breadboard sebagai pusat kontrol sistem.
- Hubungkan ESP32 ke jalur power (VCC dan GND) pada breadboard.
- Pasang dan hubungkan sensor DHT11 ke ESP32 (VCC, GND, dan data).
- Rangkai sensor LDR dengan resistor, lalu hubungkan ke pin analog ESP32.
- Pasang sensor hujan pada bagian atas prototype agar dapat mendeteksi air hujan.
- Hubungkan sensor hujan ke ESP32 (VCC, GND, dan output).
- Hubungkan motor servo ke ESP32 sebagai penggerak jemuran otomatis.
- Pasang buzzer dan hubungkan ke pin output ESP32 sebagai indikator.
- Pasang relay module jika digunakan, lalu hubungkan ke ESP32.
- Periksa kembali semua sambungan kabel agar tidak terjadi kesalahan.
- Sambungkan ESP32 ke adaptor atau laptop sebagai sumber daya.
- Upload program ke ESP32 menggunakan Arduino IDE.
- Lakukan pengujian untuk memastikan semua sensor dan aktuator bekerja dengan baik.
Desain Sistem

Skenario Pengujian
Hasil Pengujian
Kesimpulan
Source Code / Pseudocode
#include "DHTesp.h"
#include <ESP32Servo.h>
#define DHTPIN 4
#define LDRPIN 34
#define RAINPIN 27
#define BUZZER 15
#define SERVOPIN 18
DHTesp dht;
Servo jemuran;
void setup() {
Serial.begin(115200);
dht.setup(DHTPIN, DHTesp::DHT22); // bisa DHT11 juga
jemuran.attach(SERVOPIN);
pinMode(RAINPIN, INPUT);
pinMode(BUZZER, OUTPUT);
}
void loop() {
TempAndHumidity data = dht.getTempAndHumidity();
int cahaya = analogRead(LDRPIN);
int hujan = digitalRead(RAINPIN);
Serial.print("Suhu: ");
Serial.print(data.temperature);
Serial.print(" | Humidity: ");
Serial.print(data.humidity);
Serial.print(" | Cahaya: ");
Serial.print(cahaya);
Serial.print(" | Hujan: ");
Serial.println(hujan);
if (hujan == LOW) {
jemuran.write(0);
digitalWrite(BUZZER, HIGH);
delay(500);
digitalWrite(BUZZER, LOW);
}
else if (cahaya > 2000) {
jemuran.write(90);
}
else {
jemuran.write(45);
}
delay(1000);
}