Akıllı Çamaşır Sepeti
🧺 Arduino ile Akıllı Çamaşır Sepeti Doluluk Takibi
Arduino ile akıllı çamaşır sepeti nasıl yapılır? Bu rehberde HC-SR04 ultrasonik sensör ve LCD ekran kullanarak doluluk seviyesi ölçme sisteminin devresi, mantığı ve Arduino kodunu bulabilirsiniz.
Bu projede Arduino, HC-SR04 ultrasonik mesafe sensörü ve I2C 16x2 LCD ekran kullanılarak
bir çamaşır sepetinin veya kıyafet kutusunun doluluk seviyesi temassız olarak ölçülür.
Ölçülen seviye, kullanıcıya YÜZDE (%) ve DURUM mesajı olarak LCD ekranda gösterilir.
🎯 Projenin Amacı
Bu proje ile:
- Ultrasonik sensörle temassız seviye ölçümü
- LCD ekranda anlamlı veri gösterimi
- Yüzdelik doluluk hesaplama
- Gerçek hayat problemi için Arduino çözümü
öğrenilmiş olur.
🧠 Çalışma Mantığı (Basit ve Net)
- HC-SR04 sensörü, sepetin üst kısmına yerleştirilir
- Sensör, sepetin içindeki çamaşırların en üst noktasına olan mesafeyi ölçer
- Sepet boşken ölçülen mesafe = maksimum mesafe
- Çamaşır arttıkça ölçülen mesafe azalır
- Arduino bu mesafeye göre doluluk yüzdesini hesaplar
- Sonuç LCD ekranda gösterilir
📐 Doluluk Hesaplama Mantığı
Doluluk (%) = ((Boş Mesafe - Anlık Mesafe) / Boş Mesafe) × 100
Örnek:
- Sepet boşken mesafe: 40 cm
- Anlık mesafe: 10 cm
((40 - 10) / 40) × 100 = %75
🧩 Kullanılan Malzemeler
- Arduino Uno veya Arduino Nano
- HC-SR04 Ultrasonik Mesafe Sensörü
- I2C 16x2 LCD ekran
- Breadboard
- Jumper kablolar
🔌 Devre Bağlantıları

HC-SR04 Ultrasonik Sensör
| Pin | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | D9 |
| ECHO | D10 |
I2C LCD Ekran
| LCD | Arduino |
|---|---|
| SDA | A4 |
| SCL | A5 |
| VCC | 5V |
| GND | GND |
📺 LCD Ekran Görünümü
🟢 Sepet Boş / Az Dolu
Level: 20%
🔴 Sepet Dolu
FULL ⚠️
💻 Arduino Kodları (Tam ve Açıklamalı)
I2C LCD Ekran kütüphane ekleme talimatı için tıklayınız
🧺 Sepet Boşken Mesafe Ölçüm Kodu (Kalibrasyon)
#define TRIG 9
#define ECHO 10
long duration;
int distance;
void setup() {
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
Serial.println("Sepet BOSKEN olculuyor...");
}
void loop() {
// Ultrasonik tetikleme
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
// Echo süresini oku
duration = pulseIn(ECHO, HIGH);
// Mesafeyi cm cinsinden hesapla
distance = duration * 0.034 / 2;
Serial.print("Bos Sepet Mesafesi: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}
Örnek çıktı:
Bos Sepet Mesafesi: 38 cm
🔧 Asıl Projeye Nasıl Eklenecek?
Ana projedeki şu satırı:
const int emptyDistance = 40;
şu şekilde değiştir:
const int emptyDistance = 38;
Asıl kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define TRIG 9
#define ECHO 10
long duration;
int distance;
const int emptyDistance = 40; // Sepet boşken ölçülen mesafe (cm)
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Laundry Basket");
lcd.setCursor(0, 1);
lcd.print("Initializing");
delay(2000);
lcd.clear();
}
void loop() {
// Ultrasonik ölçüm
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO, HIGH);
distance = duration * 0.034 / 2;
// Doluluk yüzdesi hesapla
int fillLevel = ((emptyDistance - distance) * 100) / emptyDistance;
fillLevel = constrain(fillLevel, 0, 100);
lcd.setCursor(0, 0);
lcd.print("Laundry Basket");
lcd.setCursor(0, 1);
if (fillLevel < 70) {
lcd.print("Level: ");
lcd.print(fillLevel);
lcd.print("% ");
} else {
lcd.print("FULL !!! ");
}
delay(1000);
}
⚙️ Kalibrasyon (Çok Önemli)
-
Sepet tamamen boşken mesafeyi ölç
-
Bu değeri emptyDistance değişkenine yaz
-
Her sepet için bu değer farklı olabilir
🚀 Geliştirme Fikirleri
-
Buzzer ile dolu uyarısı
-
LED (yeşil / sarı / kırmızı)
-
Joystick ile sepet tipi seçimi
-
EEPROM ile son doluluk kaydı
-
Kablosuz bildirim (ESP8266)
👨🎓 Nerelerde Kullanılabilir?
-
Çamaşır sepeti
-
Oyuncak kutusu
-
Kıyafet dolabı
-
Depo kutusu
-
Mama kabı
✅ Sonuç
Bu proje, ultrasonik sensör + LCD kullanarak gerçek hayatta işe yarayan bir Arduino uygulamasıdır. Aynı mantık, doluluk veya seviye takibi gereken her alana kolayca uyarlanabilir.