Arduino Akıllı Çöp Kovası

Arduino Akıllı Çöp Kovası Nasıl Yapılır? 2025 | Otomatik Açılan Smart Trash Can Projesi

Arduino Akıllı Çöp Kovası Projesi Nedir?

Arduino akıllı çöp kovası projesi, yaklaşımınızı algılayarak kapağını otomatik olarak açan temassız çöp kutusu sistemidir. Bu hygiene-friendly proje ile elinizi hiç kirletmeden çöp atabilir, hem hijyen hem de teknoloji deneyimi yaşayabilirsiniz. COVID-19 sonrası dönemde özellikle önem kazanan temassız teknolojilerin mükemmel bir örneğidir.

Akıllı Çöp Kovası Çalışma Prensibi

Akıllı çöp kovası, ultrasonic mesafe sensörü kullanarak yaklaşan el veya objeyi algılar. Arduino mikrokontrolcüsü bu veriyi işleyerek servo motor aracılığıyla kapağı otomatik olarak açar ve belirli süre sonra kapatır. Şemsiye teli gibi mekanik bağlantı elemanları ile kapağın yumuşak ve güvenli hareket etmesi sağlanır.

🔄 Sistem Çalışma Aşamaları:

  1. Mesafe Algılama: Ultrasonic sensor ile yaklaşım tespiti
  2. Sinyal İşleme: Arduino’da mesafe hesaplama
  3. Karar Verme: Eşik değer kontrolü ve açma komutu
  4. Mekanik Hareket: Servo motor ile kapak açma
  5. Zamanlayıcı: Belirlenen süre sonra otomatik kapama

🎯 Sistem Bileşenleri:

  • Arduino Uno: Ana kontrol ünitesi
  • HC-SR04 Ultrasonic Sensor: Mesafe ölçümü
  • Servo Motor: Kapak hareketi
  • Şemsiye Teli: Mekanik bağlantı
  • Güç Kaynağı: 5V besleme sistemi

Arduino Akıllı Çöp Kovası Malzemeleri (2025 Güncel Liste)

📦 Temel Elektronik Bileşenler:

  • Arduino Uno R3 – Ana mikrokontrolcü kartı
  • SG90 Servo Motor – Kapak açma/kapama motoru
  • Çöp Kovası – Uygun boyutta plastik/metal kova
  • Şemsiye Teli – Esnek mekanik bağlantı
  • Jumper Kablolar – Elektronik bağlantılar

🔧 Ek Gerekli Malzemeler:

  • HC-SR04 Ultrasonic Sensor – Mesafe algılama (genelde temel malzemede eksik)
  • Breadboard – Devre montaj tahtası
  • 220Ω Direnç – LED koruma (durum göstergesi için)
  • LED (Yeşil/Kırmızı) – Çalışma durumu göstergesi
  • 9V Pil ve Pil Kutusu – Taşınabilir güç kaynağı

🏗️ Montaj ve Yapıştırma Malzemeleri:

  • Plastik Bağlama Kelepçesi – Kablo düzeni
  • Çift Taraflı Güçlü Bant – Sensor montajı
  • Hot Glue Gun (Sıcak Silikon) – Kalıcı yapıştırma
  • Vida ve Somun (M3x10) – Servo motor montajı
  • Plastik Kutu – Arduino koruması

🔋 Güç Yönetimi:

  • LM2596 Buck Converter – Voltaj düzenleyici
  • 18650 Li-ion Pil – Uzun ömür güç kaynağı
  • TP4056 Şarj Modülü – Pil şarj sistemi
  • ON/OFF Switch – Ana güç anahtarı

🎨 Estetik Geliştirmeler:

  • RGB LED Strip – Renkli ışık efektleri
  • Buzzer – Sesli geri bildirim
  • LCD Ekran (16×2) – Durum bilgisi
  • Kapak Sticker/Etiket – Görsel tasarım

Arduino Akıllı Çöp Kovası Devre Şeması

📺 Detaylı Çalışma Videosu:

👉 Arduino Akıllı Çöp Kovası Projesi – Video Rehber

Video içeriği: Ultrasonic sensör kalibrasyonu, servo motor montaj teknikleri, şemsiye teli bağlantısı, çöp kovası modifikasyonu ve güç yönetimi optimizasyonu

🔌 Arduino Bağlantı Şeması:

HC-SR04 Ultrasonic Sensor:

  • VCC → Arduino 5V
  • GND → Arduino GND
  • Trig → Arduino Pin 7
  • Echo → Arduino Pin 6

SG90 Servo Motor:

  • Kırmızı (VCC) → Arduino 5V
  • Kahverengi (GND) → Arduino GND
  • Turuncu (Signal) → Arduino Pin 9 (PWM)

Durum LED’leri:

  • Yeşil LED → Pin 12 → 220Ω → GND (Sistem hazır)
  • Kırmızı LED → Pin 13 → 220Ω → GND (Kapak açık)

Buzzer (Opsiyonel):

  • Buzzer (+) → Arduino Pin 8
  • Buzzer (-) → Arduino GND

⚡ Güç Bağlantıları:

  • Arduino VIN → 9V Pil (+) / Buck Converter Output
  • Arduino GND → Pil (-) / Ortak toprak
  • Servo VCC → 5V (Yüksek akım için harici 5V)

Arduino Akıllı Çöp Kovası Kodları

📚 Gerekli Kütüphaneler:

#include <Servo.h>
#include <NewPing.h>

🔐 Premium Üyeler İçin Komple Kod Paketi:

[Üye Girişi Yaparak Tüm Kodlara Erişin]

Premium paket: Çoklu algılama modu, öğrenebilen mesafe ayarı, enerji tasarrufu modları, uzaktan kontrol, mobil uygulama entegrasyonu, kullanım istatistikleri

🗑️ Temel Arduino Akıllı Çöp Kovası Kodu:

#include <Servo.h>
#include <NewPing.h>

// Pin tanımlamaları
#define TRIGGER_PIN 7
#define ECHO_PIN 6
#define SERVO_PIN 9
#define GREEN_LED 12
#define RED_LED 13
#define BUZZER_PIN 8

// Mesafe sensörü ayarları
#define MAX_DISTANCE 50 // 50cm maksimum algılama mesafesi
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

// Servo motor
Servo lidServo;

// Sistem parametreleri
const int triggerDistance = 20;  // 20cm yaklaşımda kapak açılır
const int openAngle = 120;       // Kapak açık pozisyonu (derece)
const int closedAngle = 10;      // Kapak kapalı pozisyonu (derece)
const unsigned long openDuration = 3000;  // 3 saniye açık kalma süresi
const unsigned long debounceDelay = 500;  // Titreşim önleme süresi

// Durum değişkenleri
bool lidOpen = false;
bool personDetected = false;
bool lastPersonDetected = false;
unsigned long lidOpenTime = 0;
unsigned long lastDetectionTime = 0;
int currentDistance = 0;
int batteryLevel = 100;

void setup() {
  Serial.begin(9600);
  
  // Pin modları
  pinMode(GREEN_LED, OUTPUT);
  pinMode(RED_LED, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  
  // Servo motor başlatma
  lidServo.attach(SERVO_PIN);
  lidServo.write(closedAngle);
  
  // Başlangıç LED durumu
  digitalWrite(GREEN_LED, HIGH);  // Sistem hazır
  digitalWrite(RED_LED, LOW);
  
  Serial.println("Arduino Akıllı Çöp Kovası Başlatıldı");
  Serial.println("Algılama mesafesi: " + String(triggerDistance) + " cm");
  
  // Başlangıç testi
  performStartupTest();
  
  delay(1000);
}

void loop() {
  // Mesafe ölçümü
  currentDistance = sonar.ping_cm();
  
  // 0 değeri = menzil dışı, maksimum menzil olarak ayarla
  if (currentDistance == 0) {
    currentDistance = MAX_DISTANCE;
  }
  
  // Kişi algılama kontrolü
  personDetected = (currentDistance <= triggerDistance && currentDistance > 0);
  
  // Yeni algılama (debounce ile)
  if (personDetected && !lastPersonDetected && 
      millis() - lastDetectionTime > debounceDelay) {
    
    if (!lidOpen) {
      openLid();
    } else {
      // Kapak zaten açık, süreyi uzat
      lidOpenTime = millis();
      Serial.println("Kapak açık kalma süresi uzatıldı");
    }
    
    lastDetectionTime = millis();
  }
  
  // Otomatik kapanma kontrolü
  if (lidOpen && millis() - lidOpenTime > openDuration) {
    // Kişi hala yakında mı kontrol et
    if (currentDistance > triggerDistance) {
      closeLid();
    } else {
      // Kişi hala yakında, süreyi uzat
      lidOpenTime = millis();
    }
  }
  
  // Durum güncellemeleri
  lastPersonDetected = personDetected;
  updateStatusLEDs();
  
  // Debug bilgisi
  if (millis() % 1000 == 0) { // Her saniye yazdır
    printDebugInfo();
  }
  
  // Düşük güç kontrolü
  checkPowerStatus();
  
  delay(50); // 20Hz güncelleme hızı
}

void openLid() {
  Serial.println("Kapak açılıyor...");
  
  // Ses bildirimi
  playOpenSound();
  
  // Servo motoru açık pozisyona getir
  lidServo.write(openAngle);
  lidOpen = true;
  lidOpenTime = millis();
  
  // LED durumu güncelle
  digitalWrite(RED_LED, HIGH);   // Kapak açık
  digitalWrite(GREEN_LED, LOW);
  
  Serial.println("Kapak açıldı - " + String(openDuration/1000) + " saniye açık kalacak");
}

void closeLid() {
  Serial.println("Kapak kapanıyor...");
  
  // Ses bildirimi
  playCloseSound();
  
  // Servo motoru kapalı pozisyona getir
  lidServo.write(closedAngle);
  lidOpen = false;
  
  // LED durumu güncelle
  digitalWrite(RED_LED, LOW);
  digitalWrite(GREEN_LED, HIGH);  // Sistem hazır
  
  Serial.println("Kapak kapandı");
}

void updateStatusLEDs() {
  if (lidOpen) {
    // Kapak açık - kırmızı LED yanıp sönsün
    static unsigned long lastBlink = 0;
    static bool blinkState = false;
    
    if (millis() - lastBlink > 500) {
      blinkState = !blinkState;
      digitalWrite(RED_LED, blinkState);
      lastBlink = millis();
    }
  } else if (personDetected) {
    // Kişi algılandı - yeşil LED yanıp sönsün
    static unsigned long lastBlink = 0;
    static bool blinkState = false;
    
    if (millis() - lastBlink > 200) {
      blinkState = !blinkState;
      digitalWrite(GREEN_LED, blinkState);
      lastBlink = millis();
    }
  }
}

void playOpenSound() {
  // Yükselen ton dizisi
  for (int freq = 500; freq <= 1000; freq += 100) {
    tone(BUZZER_PIN, freq, 100);
    delay(50);
  }
  noTone(BUZZER_PIN);
}

void playCloseSound() {
  // Alçalan ton dizisi
  for (int freq = 1000; freq >= 500; freq -= 100) {
    tone(BUZZER_PIN, freq, 100);
    delay(50);
  }
  noTone(BUZZER_PIN);
}

void performStartupTest() {
  Serial.println("Başlangıç testi yapılıyor...");
  
  // LED testi
  digitalWrite(GREEN_LED, HIGH);
  delay(500);
  digitalWrite(GREEN_LED, LOW);
  digitalWrite(RED_LED, HIGH);
  delay(500);
  digitalWrite(RED_LED, LOW);
  
  // Servo testi
  Serial.println("Servo motor testi...");
  lidServo.write(openAngle);
  delay(1000);
  lidServo.write(closedAngle);
  delay(1000);
  
  // Buzzer testi
  Serial.println("Buzzer testi...");
  tone(BUZZER_PIN, 800, 200);
  delay(300);
  tone(BUZZER_PIN, 1200, 200);
  delay(300);
  noTone(BUZZER_PIN);
  
  // Mesafe sensörü testi
  Serial.println("Mesafe sensörü testi...");
  for (int i = 0; i < 5; i++) {
    int distance = sonar.ping_cm();
    Serial.println("Test ölçümü " + String(i+1) + ": " + String(distance) + " cm");
    delay(200);
  }
  
  digitalWrite(GREEN_LED, HIGH);
  Serial.println("Başlangıç testi tamamlandı - Sistem hazır");
}

void printDebugInfo() {
  Serial.println("=== Sistem Durumu ===");
  Serial.println("Mesafe: " + String(currentDistance) + " cm");
  Serial.println("Kapak: " + String(lidOpen ? "AÇIK" : "KAPALI"));
  Serial.println("Kişi algılandı: " + String(personDetected ? "EVET" : "HAYIR"));
  
  if (lidOpen) {
    unsigned long remainingTime = openDuration - (millis() - lidOpenTime);
    Serial.println("Kalan açık kalma süresi: " + String(remainingTime/1000) + " saniye");
  }
  
  Serial.println("Pil seviyesi: " + String(batteryLevel) + "%");
  Serial.println("-------------------");
}

void checkPowerStatus() {
  // Basit pil seviyesi simülasyonu (gerçek projede ADC ile ölçüm)
  static unsigned long lastBatteryCheck = 0;
  
  if (millis() - lastBatteryCheck > 60000) { // Her dakika kontrol
    batteryLevel = max(0, batteryLevel - 1); // Saatte %60 azalma simülasyonu
    
    if (batteryLevel < 20) {
      Serial.println("UYARI: Düşük pil seviyesi (" + String(batteryLevel) + "%)");
      
      // Düşük pil uyarısı
      for (int i = 0; i < 3; i++) {
        digitalWrite(RED_LED, HIGH);
        tone(BUZZER_PIN, 300, 200);
        delay(300);
        digitalWrite(RED_LED, LOW);
        delay(200);
      }
      noTone(BUZZER_PIN);
    }
    
    lastBatteryCheck = millis();
  }
}

// Gelişmiş özellikler için fonksiyonlar
void enterSleepMode() {
  // Enerji tasarrufu modu
  Serial.println("Enerji tasarrufu moduna geçiliyor...");
  // Arduino sleep mode implementation
}

void adjustSensitivity(int newDistance) {
  // Hassasiyet ayarlama
  if (newDistance >= 5 && newDistance <= 50) {
    // triggerDistance = newDistance; // const olduğu için değiştirilemez
    Serial.println("Yeni algılama mesafesi: " + String(newDistance) + " cm");
  }
}

void emergencyClose() {
  // Acil durum kapama
  Serial.println("ACİL DURUM: Kapak kapatılıyor");
  lidServo.write(closedAngle);
  lidOpen = false;
  
  // Alarm sesi
  for (int i = 0; i < 5; i++) {
    tone(BUZZER_PIN, 2000, 100);
    delay(150);
  }
  noTone(BUZZER_PIN);
}

// Kullanım istatistikleri
unsigned long totalOpenings = 0;
unsigned long totalUptime = 0;

void incrementUsageStats() {
  totalOpenings++;
  Serial.println("Toplam açılma sayısı: " + String(totalOpenings));
}

Servo Motor ve Şemsiye Teli Mekanizma

⚙️ SG90 Servo Motor Özellikleri:

  • Tork: 1.8kg/cm (4.8V)
  • Hız: 0.1s/60° (4.8V)
  • Açı Aralığı: 180°
  • Kontrol: PWM sinyal (50Hz)
  • Çalışma Voltajı: 4.8V – 6V

🔧 Şemsiye Teli Kullanım Avantajları:

  • Esneklik: Kapak şeklina uyum
  • Dayanıklılık: Paslanmaz çelik malzeme
  • Ucuz Maliyet: Kolay temin edilebilir
  • Kolay Şekillendirme: Elle bükülebilir
  • Hafiflik: Servo motora az yük

📐 Mekanik Bağlantı Tasarımı:

Servo Motor → Servo Horn → Şemsiye Teli → Kapak Bağlantı Noktası
     ↓              ↓             ↓                    ↓
   PWM Control    Plastik       Esnek              Kapak
                 Bağlantı      Aktarım            Hareketi

Ultrasonic Sensor Mesafe Algılama

📡 HC-SR04 Çalışma Prensibi:

  1. Trigger Pulse: 10µs yüksek sinyal gönder
  2. Ultrasonic Burst: 8 adet 40kHz ses dalgası
  3. Echo Reception: Yansıyan ses dalgası algılama
  4. Time Measurement: Gidiş-dönüş süresi ölçümü
  5. Distance Calculation: Mesafe = (Süre × Ses Hızı) / 2

📊 Mesafe Hesaplama Formülü:

Mesafe (cm) = (Echo Pulse Süresi (µs) × 0.034) / 2
Ses Hızı = 343 m/s = 0.034 cm/µs

🎯 Algılama Optimizasyonu:

  • Dead Zone: 2cm minimum mesafe
  • Max Range: 400cm teorik, 50cm pratik
  • Beam Angle: 15° koni açısı
  • Resolution: 0.3cm hassasiyet

Arduino Akıllı Çöp Kovası Avantajları

🛡️ Hijyen Avantajları:

  • Temassız Kullanım: El kontaminasyonu önleme
  • COVID-19 Koruması: Viral bulaş riski azaltma
  • Antibakteriyel: Fiziksel temas elimine
  • Temizlik: Kolay dezenfeksiyon

💡 Teknolojik Üstünlükler:

  • Otomatik Çalışma: İnsan müdahalesi gerektirmez
  • Enerji Verimli: Düşük güç tüketimi
  • Sesiz Çalışma: Minimal gürültü
  • Uzun Ömür: Kaliteli elektronik bileşenler

🏠 Kullanım Alanları:

  • Ev Mutfağı: Yemek hazırlama alanı
  • Banyo: Hijyen kritik alanlar
  • Ofis: Çalışma ortamları
  • Hastane: Medikal atık yönetimi
  • Restoran: Ticari mutfaklar

Akıllı Çöp Kovası Kurulumu

🔧 Mekanik Montaj:

  1. Çöp Kovası Hazırlığı: Kapak menteşe kontrolü
  2. Servo Motor Montajı: Güçlü ve sabit bağlantı
  3. Şemsiye Teli Şekillendirme: Kapak hareketine uygun
  4. Sensor Yerleştirme: Optimal algılama açısı
  5. Kablo Yönetimi: Düzenli ve güvenli yerleştirme

📡 Elektronik Kurulum:

  1. Arduino Programlama: Kod yükleme ve test
  2. Sensor Kalibrasyonu: Mesafe eşik ayarı
  3. Servo Kalibrasyonu: Açık/kapalı pozisyon
  4. Güç Testi: Pil ömrü ve tüketim kontrolü
  5. Sistem Entegrasyonu: Tüm bileşen uyumu

Akıllı Çöp Kovası Sorun Giderme

⚠️ Yaygın Problemler:

Kapak Açılmıyor:

  • Servo Güç: Yeterli akım kontrolü
  • Mekanik Engel: Şemsiye teli sıkışması
  • Kod Kontrolü: PWM sinyal doğruluğu
  • Bağlantı: Servo kablo kontrolü

Yanlış Algılama:

  • Mesafe Kalibrasyonu: Eşik değer ayarı
  • Sensor Konumu: Optimum yerleştirme
  • Çevresel Faktörler: Rüzgar, titreşim
  • Debounce Süresi: Titreşim önleme ayarı

Erken Kapanma:

  • Timer Ayarı: Açık kalma süresini artırın
  • Sürekli Algılama: Kişi yakınken süre uzatma
  • Sensor Hassasiyeti: Algılama mesafesi
  • Kod Mantığı: Kapanma koşulları

İleri Seviye Geliştirmeler

🌐 IoT Entegrasyonu:

  • WiFi Modülü: ESP8266/ESP32 entegrasyonu
  • Smartphone App: Uzaktan kontrol ve izleme
  • Usage Analytics: Kullanım istatistikleri
  • Cloud Storage: Veri saklama ve analiz

🤖 Yapay Zeka Özellikleri:

  • Pattern Learning: Kullanım alışkanlığı öğrenme
  • Predictive Opening: Öngörülü kapak açma
  • Adaptive Timing: Akıllı zamanlama
  • User Recognition: Kullanıcı tanıma sistemi

🔋 Enerji Yönetimi:

  • Solar Panel: Güneş enerjisi şarjı
  • Motion PIR: Yaklaşım ön algılama
  • Sleep Mode: Enerji tasarrufu modu
  • Battery Monitor: Gerçek zamanlı pil takibi

Akıllı Çöp Kovası vs Geleneksel

Özellik Akıllı Çöp Kovası Geleneksel Çöp Kovası
Hijyen Temassız El teması gerekli
Konfor Otomatik açılma Manuel açma
Maliyet 150-250 TL 20-50 TL
Enerji Elektrik gerekli Enerji gerektirmez
Bakım Elektronik bakım Sadece temizlik
Teknoloji Yüksek teknoloji Basit mekanik
Arıza Riski Elektronik arıza Mekanik aşınma

Arduino Akıllı Çöp Kovası Maliyet Analizi 2025

Malzeme Ortalama Fiyat (TL)
Arduino Uno R3 45-60
HC-SR04 Ultrasonic Sensor 8-15
SG90 Servo Motor 12-20
Çöp Kovası (orta boy) 25-40
Şemsiye Teli 3-5
Jumper Kablolar 5-8
Breadboard 8-12
LED’ler ve Dirençler 3-5
9V Pil ve Kutu 8-15
Montaj Malzemeleri 10-20
Toplam 127-200 TL

Çevre Dostu Teknoloji

♻️ Sürdürülebilirlik Avantajları:

  • Uzun Ömür: Elektronik bileşenler 5+ yıl
  • Geri Dönüşüm: Plastik kova değiştirilebilir
  • Enerji Verimli: Düşük güç tüketimi
  • Modular Tasarım: Parça değişimi kolay

🌱 Çevresel Etki:

  • E-waste Reduction: Uzun ömürlü tasarım
  • Energy Efficiency: Minimal elektrik tüketimi
  • Material Choice: Geri dönüştürülebilir malzemeler
  • Lifecycle Assessment: Çevre dostu yaşam döngüsü

Güvenlik ve Yasal Konular

⚠️ Güvenlik Önlemleri:

  • Servo Motor Gücü: Aşırı güç sınırlaması
  • Kapışma Koruması: Engel algılama
  • Çocuk Güvenliği: Küçük parça uyarısı
  • Elektriksel Güvenlik: Su koruması

📋 Kullanım Uyarıları:

  • Su Koruması: Elektronik nemden koruyun
  • Servo Yükü: Aşırı ağırlık yüklemeyin
  • Pil Güvenliği: Doğru pil tipi kullanın
  • Montaj Kalitesi: Güvenli mekanik bağlantı

Sonuç

Arduino akıllı çöp kovası projesi, günlük yaşamda teknolojinin pratik kullanımını gösteren mükemmel bir IoT projesidir. Hijyen, konfor ve teknoloji deneyimini bir araya getiren bu proje, hem öğrenciler hem de teknoloji meraklıları için harika bir öğrenme deneyimi sunar. COVID-19 sonrası dönemde temassız teknolojilerin öneminin artmasıyla birlikte bu tür projeler daha da değerli hale gelmiştir.

Önemli Notlar:

  • Servo motor için yeterli güç kaynağı sağlayın
  • Mesafe sensörü konumunu optimize edin
  • Şemsiye teli bağlantısını güvenli yapın
  • Su koruması elektronik için kritiktir
  • 📺 Gerekli tüm bilgiler videoda detaylı anlatılmıştır
  • ⚠️ Lütfen öncelikle videoyu dikkatlice izleyiniz

🎥 Video Rehber İçeriği:

  • Arduino Uno ve ultrasonic sensor bağlantıları
  • HC-SR04 mesafe sensörü kalibrasyonu
  • Servo motor montaj ve pozisyon ayarları
  • Şemsiye teli mekanik bağlantı teknikleri
  • Çöp kovası modifikasyon ve hazırlık
  • Kod yazımı ve algoritma geliştirme
  • Güç yönetimi ve pil optimize

Anahtar Kelimeler: Arduino akıllı çöp kovası, otomatik çöp kutusu, HC-SR04 ultrasonic sensor, servo motor çöp kovası, smart trash can DIY, temassız çöp kovası, Arduino IoT projesi, hygiene technology, akıllı ev otomasyonu

Devre Şeması

Çalışma Videosu

Gerekli Kodlar : 


Premium Üyeler İçin Gerekli Kodlar: 

[member]   [/member]

Not : Gerekli Bilgiler Video da Anlatılmıştır. Yapamazsanız Lütfen Videoyu Dikkatlice İzleyiniz!