Ana içeriğe geç

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)

  1. HC-SR04 sensörü, sepetin üst kısmına yerleştirilir
  2. Sensör, sepetin içindeki çamaşırların en üst noktasına olan mesafeyi ölçer
  3. Sepet boşken ölçülen mesafe = maksimum mesafe
  4. Çamaşır arttıkça ölçülen mesafe azalır
  5. Arduino bu mesafeye göre doluluk yüzdesini hesaplar
  6. 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ı

LiquidCrystal_I2C ve dht11 bağlantısı

HC-SR04 Ultrasonik Sensör

PinArduino
VCC5V
GNDGND
TRIGD9
ECHOD10

I2C LCD Ekran

LCDArduino
SDAA4
SCLA5
VCC5V
GNDGND

📺 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.