Dışarı çıkarken balkona çamaşır astığınızı unutup, aniden bastıran yağmurla eve depar attığınız o anı hepimiz biliriz. Peki ya çamaşırlarınız yağmuru sizden önce fark edip kendi kendini içeri alsaydı?

ESP32 ile harika projeler hazırladığımız serimizin ikinci bölümünde, tam olarak bunu yapıyoruz! Sensörleri, röleleri ve güçlü bir lineer aktüatörü bir araya getirerek yağmur damlalarını hissettiği an kapanan, hava açtığında ise tekrar dışarı çıkan bir akıllı çamaşır kurutma askılığı tasarlıyoruz. Üstelik ESP32’nin WiFi özelliği sayesinde bu sistemi cep telefonunuzdan manuel olarak da kontrol edebileceksiniz.
Hazırsanız, ıslanan çamaşırlara son verecek bu harika mekanik-elektronik projenin detaylarına geçelim!
Akıllı Çamaşır Kurutma Askılığı Projesi Ne Yapıyor?
Projenin temel amacı, dış ortamda bulunan çamaşır askılığını hava durumuna göre otomatik olarak hareket ettirmektir. Sistemin merkezinde yer alan yağmur sensörü, üzerine su damlası düştüğünde bunu algılar ve ESP32’ye dijital sinyal gönderir. ESP32 de bu veriye göre röleleri kontrol ederek lineer aktüatörü harekete geçirir.

Yağmur başladığında sistem askılığı geri çeker. Böylece dışarıda asılı duran çamaşırlar ıslanmadan korunmuş olur. Yağmur sona erdiğinde ise askılık tekrar ileri doğru hareket eder ve kurutma işlemi kaldığı yerden devam eder.
Projede ayrıca bir web kontrol arayüzü de kullanabilirsiniz. İsterseniz aynı ağ üzerinden sisteme bağlanarak askılığı ileri, geri veya durdur komutlarıyla manuel olarak da yönetebilirsiniz. Böylece sistem yalnızca sensöre bağlı çalışan otomatik bir mekanizma olmak yerine, uzaktan kontrol edilebilen akıllı bir kurutma çözümüne dönüşür.

Kullanılan Malzemeler
Akıllı çamaşır kurutma askılığı projesinde, aktüatör gibi yüksek akım çeken mekanik parçalar kullandığımız için güç yönetimi oldukça önemlidir. İşte malzeme listemiz:
- ESP32 ESP-32S WiFi + Bluetooth Dual-Mode Geliştirme Kartı (32 Pin)
- Yağmur Sensörü
- 12V DC 500mm Lineer Aktüatör – 7mm/s 1000N
- 1 Kanal 5V Röle Kartı – Low Level Trigger
- GLOBAL K2 12V 5A Fişli Adaptör – 60W – KLD022
- 5V 2A DC Adaptör 5.5mm x 2.1mm – 1 Metre Kablo
- FEETECH FS5115M 15kg/cm Metal Dişli Analog Servo Motor

Hareket mekanizmasının temelini lineer aktüatör oluşturuyor. ESP32 üzerinden kontrol edilen röleler sayesinde aktüatörün yönü değiştirilerek askılık içeri ve dışarı hareket ettiriliyor. Yağmur sensörü ise ortam koşulunu takip ederek sistemi otomatik hale getiriyor.
Akıllı Çamaşır Kurutma Askılığı Sistemi Nasıl Çalışıyor?
Projenin kalbinde ESP32 yatıyor. ESP32, GPIO 4 pinine bağlı olan yağmur sensörünü sürekli olarak dinler.

- Yağmur Başladığında: Sensörden gelen veri LOW seviyesine düşer. ESP32 bunu algılar algılamaz röleleri tetikler ve lineer aktüatör “Geri” (içeri çekme) hareketine başlar. Çamaşırlarınız güvenle saçak altına veya içeri alınır.
- Yağmur Durduğunda: Sensör kuruduğunda ESP32 röleleri ters yönde tetikler ve aktüatör “İleri” (dışarı itme) hareketi yaparak çamaşırları tekrar kurumaya bırakır.
- Manuel Kontrol: ESP32 aynı zamanda yerel ağınızda bir Web Sunucusu (Web Server) oluşturur. Telefonunuzun tarayıcısından ESP32’nin IP adresine girerek sistemi İleri/Geri hareket ettirebilir veya anında durdurabilirsiniz.
Akıllı Çamaşır Kurutma Askılığı Devre Şeması
Projede iki röle çıkışı, lineer aktüatörün yön kontrolü için kullanılır. Yağmur sensörü ise ESP32’nin dijital giriş pinlerinden birine bağlanır. Kodda kullanılan pin tanımları şu şekildedir:
- Röle 1: GPIO23
- Röle 2: GPIO22
- Yağmur Sensörü: GPIO4

Bu bağlantı yapısı sayesinde sensörden gelen veri doğrudan ESP32 tarafından okunur ve gerekli olduğunda röleler tetiklenerek aktüatör hareket ettirilir.

Projenin Kodları
ESP32, hem yağmur sensöründen gelen dijital veriyi izliyor. Sistem yağmur algıladığında askılığı geri çekiyor, yağmur bittiğinde ise tekrar ileri yönde hareket ettiriyor.
Kodun öne çıkan noktaları şunlardır:
- Yağmur sensörü sürekli olarak okunur.
- Yağmur başladığında askılık otomatik olarak geri çekilir.
- Yağmur durduğunda sistem yeniden açılır.
- Web arayüzü üzerinden manuel kontrol yapılabilir.
- İleri, geri ve durdur komutları doğrudan tarayıcıdan verilebilir.
Aşağıdaki kodu ESP32 kartınıza yüklemeden önce ssid ve password kısımlarına kendi WiFi ağınızın adını ve şifresini girmeyi unutmayın.
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "";
const char* password = "";
WebServer server(80);
#define RELAY1 23
#define RELAY2 22
const int rainDigitalPin = 4; // D0 → ESP32 GPIO4
// ileri gidiyor
void allOff()
{
digitalWrite(RELAY1, HIGH);
digitalWrite(RELAY2, HIGH);
}
// HTML ARAYÜZ
String HTML() {
return R"rawliteral(
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body { text-align:center; font-family: Arial; }
button {
width:200px; height:60px;
font-size:20px; margin:10px;
}
</style>
</head>
<body>
<h2>ESP32 Röle Kontrol</h2>
<a href="/off"><button>İleri</button></a><br>
<a href="/r1"><button>Geri</button></a><br>
<a href="/r2"><button>Durdur</button></a>
</body>
</html>
)rawliteral";
}
// Geri gidiyor
void handleR1()
{
digitalWrite(RELAY1, LOW);
digitalWrite(RELAY2, LOW);
server.send(200, "text/html", HTML());
}
// Durduruyor
void handleR2() {
digitalWrite(RELAY2, LOW);
digitalWrite(RELAY1, HIGH);
server.send(200, "text/html", HTML());
}
// İleri gidiyor
void handleOff() {
allOff();
server.send(200, "text/html", HTML());
}
void setup() {
Serial.begin(115200);
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(rainDigitalPin, INPUT); // Dijital pin giriş olarak ayarlanıyor
allOff();
WiFi.begin(ssid, password);
Serial.print("Bağlanıyor");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("IP: ");
Serial.println(WiFi.localIP());
server.on("/", []() { server.send(200, "text/html", HTML()); });
server.on("/r1", handleR1);
server.on("/r2", handleR2);
server.on("/off", handleOff);
server.begin();
}
bool geri=false;
void loop() {
server.handleClient();
int rainState = digitalRead(rainDigitalPin);
if (rainState == LOW && geri==false)
{
Serial.println("☔ Yağmur algılandı!");
handleR1();
geri=true;
}
else if (rainState != LOW && geri==true)
{
Serial.println("🌤️ Yağmur yok.");
handleOff();
geri=false;
}
delay(500); // Yarım saniye bekle, değeri tekrar oku
}
Videolu Anlatım
Projenin yapım adımlarını detaylıca izlemek, lineer aktüatörün gücünü ve sistemin yağmur damlalarını hissettiği an nasıl otomatik çalıştığını canlı canlı görmek isterseniz, ESP32 proje serimizin ikinci bölümü için hazırladığımız YouTube videomuza hemen aşağıdan göz atabilirsiniz. İyi seyirler!
Yağmur sensörlü akıllı çamaşır askılığımız sayesinde artık o meşhur “Eyvah, çamaşırlar ıslanacak!” deparlarına son verdik. Peki siz bu sistemi kendi evinizde nasıl bir adım öteye taşırdınız? Belki sisteme bir rüzgar sensörü (anemometre) ekleyip fırtınalı havalarda da otomatik kapanmasını sağlarsınız, ya da çamaşırların tamamen kuruduğunu algılayan bir nem sensörü eklersiniz, kim bilir? Maker topluluğunun sınır tanımaz yaratıcılığını görmek için sabırsızlanıyoruz! Bu projeyi nerede kullanacağınızı, aklınıza gelen çılgın geliştirme fikirlerini veya projeyi yaparken takıldığınız noktaları aşağıdaki yorumlar kısmında bizimle mutlaka paylaşın. Hadi, yorumlarda buluşalım ve projeyi hep birlikte geliştirelim!







