Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza
Blog  ›  Projeler

Akıllı Çöp Kutusu Yapımı: HC-SR04 ve Servo ile

Akıllı Çöp Kutusu Yapımı: HC-SR04 ve Servo ile
Kısa cevap

Akıllı çöp kutusu, Arduino Uno, HC-SR04 ultrasonik sensör ve SG90 servo motorla yapılır. Sensör kapağın önündeki eli 15 santimetreden yakın algılayınca servo kapağı 90 derece açar ve 3 saniye sonra kapatır. İsterseniz kapağın altına ikinci bir sensör takıp çöpün doluluk oranını da ölçebilirsiniz.

Dokunmadan açılan bir çöp kutusu, hem hijyenik hem de sınıfta kolayca gösterilebilen bir projedir. Bu yazıda Arduino Uno, HC-SR04 ultrasonik sensör ve SG90 servo motorla kendiliğinden açılan bir kapak yapıyoruz. Malzemeleri, bağlantıyı, kodu ve isteğe bağlı doluluk ölçümünü anlatıyoruz. Sonda ödevinizi nasıl sunacağınızı bulacaksınız.

Akıllı çöp kutusu nedir?

Akıllı çöp kutusu, yaklaşan eli bir sensörle algılayıp kapağını motorla kendiliğinden açan bir çöp kutusudur. Kapağa dokunmak gerekmediği için mikrop bulaşma ihtimali azalır. Bizim modelimizde algılamayı HC-SR04, kapağı açmayı SG90 servo, karar vermeyi Arduino yapar.

Akıllı çöp kutusu nasıl çalışır?

Akıllı çöp kutusu, sensörün ölçtüğü mesafe belirli bir sınırın altına inince kapağı açarak çalışır. HC-SR04, insan kulağının duyamadığı 40 kHz'lik bir ses dalgası gönderir. Dalga ele çarpıp geri döner ve sensör bu gidiş-dönüşün süresini ölçer.

Ses havada saniyede yaklaşık 343 metre yol alır. Arduino süreyi mikrosaniye cinsinden okur, 0,0343 ile çarpar ve ikiye böler, çünkü ses yolu iki kez gitmiştir. Örneğin 875 mikrosaniyelik yankı yaklaşık 15 cm eder. Sensörün ayrıntıları HC-SR04 ultrasonik sensör yazısında.

Hangi malzemeler gerekir?

Akıllı çöp kutusu için bir Arduino Uno, bir HC-SR04 sensör, bir SG90 servo, breadboard, jumper kablo ve kapaklı küçük bir kutu yeterlidir. Doluluk ölçümü isterseniz ikinci bir HC-SR04 ekleyin.

Malzeme listesi

MalzemeAdetNe işe yarar?
Arduino Uno R3 (CH340)1Mesafeyi okur, servoya komut verir
HC-SR04 ultrasonik mesafe sensörü1 (doluluk için 2)Yaklaşan eli algılar
SG90 mini servo motor (180°)1Kapağı kaldırır ve indirir
830 pin breadboard1Lehimsiz bağlantı yapılır
Erkek-dişi jumper kablo8-10Sensörü ve servoyu karta bağlar
Kapaklı plastik kutu1Çöp kutusu gövdesi

Kutunun kapağı hafif olmalıdır. SG90 küçük bir servodur; ağır ya da sıkı menteşeli kapakları kaldıramaz. Karton ya da ince plastik kapaklı bir kutu en iyi sonucu verir.

Devre nasıl bağlanır?

HC-SR04'ün Trig ucu D7'ye, Echo ucu D6'ya, servonun sinyal kablosu D9'a bağlanır. Sensörün ve servonun artı uçları 5V'a, eksi uçları GND'ye gider.

  • HC-SR04: VCC → 5V, Trig → D7, Echo → D6, GND → GND.
  • SG90 servo: kırmızı → 5V, turuncu (sinyal) → D9, kahverengi → GND.
  • İsteğe bağlı ikinci HC-SR04: Trig → D4, Echo → D3, VCC ve GND ortak hatlara.
Akıllı çöp kutusu bağlantı şeması: HC-SR04 ultrasonik sensörün VCC ucu Arduino Uno 5V pinine, Trig ucu D7 pinine, Echo ucu D6 pinine, GND ucu GND pinine bağlı; SG90 servonun turuncu sinyal kablosu D9 pinine, kırmızı kablosu 5V'a, kahverengi kablosu GND'ye bağlı; kapak 0 derecede kapalı, 90 derecede açık; isteğe bağlı ikinci sensör Trig D4, Echo D3
Trig D7'ye, Echo D6'ya, servo sinyali D9'a bağlanır; el 15 cm'den yakınsa servo kapağı 90 derece açar.

Breadboard'un artı ve eksi hatlarını kullanmak kabloları düzenler. Servo hareket ederken Arduino yeniden başlıyorsa servoyu ayrı bir 4'lü AA pil yuvasından besleyin ve pilin eksisini Arduino GND'sine bağlayın. Servonun çalışma mantığını servo motor nedir yazısında anlattık.

Akıllı çöp kutusu adım adım nasıl yapılır?

Akıllı çöp kutusu, sensör ve servo kutuya yerleştirilip bağlanarak ve kod yüklenerek yapılır. Bağlantı yaparken USB kablosu takılı olmasın.

  1. HC-SR04'ü kutunun ön yüzüne, gözleri dışarı bakacak şekilde sabitleyin. Kutuda iki yuvarlak delik açabilirsiniz.
  2. Servoyu kutunun arka kenarına, kolu kapağın altına gelecek şekilde sıcak silikon ya da çift taraflı bantla yapıştırın.
  3. Servo kolunu kapağa bir ataş ya da ince telle bağlayın. Kol döndükçe kapak kalkmalıdır.
  4. Kabloları yukarıdaki listeye göre takın ve Arduino'yu USB ile bilgisayara bağlayın.
  5. Aşağıdaki kodu yükleyin. Elinizi sensöre 15 cm'den fazla yaklaştırınca kapak açılmalıdır.
#include <Servo.h>
const int TRIG = 7, ECHO = 6;
Servo kapak;
const int ESIK = 15;          // cm

long mesafeOlc() {
  digitalWrite(TRIG, LOW);  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  long sure = pulseIn(ECHO, HIGH, 30000);  // en çok 30 ms bekle
  if (sure == 0) return 999;               // yankı yok
  return sure * 0.0343 / 2;
}

void setup() {
  Serial.begin(9600);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  kapak.attach(9);
  kapak.write(0);             // kapalı
}

void loop() {
  long cm = mesafeOlc();
  Serial.println(cm);
  if (cm < ESIK) {
    kapak.write(90);          // aç
    delay(3000);              // 3 saniye bekle
    kapak.write(0);           // kapat
    delay(500);
  }
  delay(100);
}

Kapak ters yöne açılıyorsa 0 ile 90 değerlerinin yerini değiştirin. Kapağın tam kapanmadığını görürseniz 0 yerine 5 ya da 10 gibi küçük bir açı deneyin. Seri Monitör'de mesafeyi santimetre olarak izleyebilirsiniz.

Doluluk oranı nasıl ölçülür?

Doluluk oranı, kapağın altına aşağı bakan ikinci bir HC-SR04 takılıp çöpün yüzeyine olan mesafe ölçülerek bulunur. Kutu boşken sensör tabanı görür; çöp arttıkça mesafe kısalır.

Hesap şöyledir: doluluk (%) = (kutu derinliği − ölçülen mesafe) / kutu derinliği × 100. Örneğin 30 cm derinliğindeki kutuda sensör 6 cm ölçüyorsa doluluk (30 − 6) / 30 × 100 = %80'dir. Kodda ikinci sensör için aynı ölçüm fonksiyonunu D4 ve D3 pinleriyle kullanın. Doluluk %80'i geçince bir LED yakabilir ya da Seri Monitör'e uyarı yazdırabilirsiniz.

Hangi güvenlik kurallarına dikkat edilmeli?

Bu proje 5 V ile çalışır ve güvenlidir; yine de şu kurallara uyun:

  • Devreyi yalnızca USB'den, USB powerbank'tan ya da AA pillerden besleyin. 220V şebeke elektriğiyle hiçbir bağlantı yapmayın.
  • Sıcak silikon tabancasını ve maket bıçağını bir yetişkinin gözetiminde kullanın.
  • Pil kullanırsanız kutuplarını ters bağlamayın, uçlarını kısa devre etmeyin. Isınan pili hemen çıkarın.
  • Elektronik parçaları ıslak çöpten uzak tutun. Kutuya ıslak atık atacaksanız içine poşet geçirin.
  • Servo çalışırken parmağınızı kapağın menteşesine sokmayın.

Ödevinizi nasıl sunarsınız?

Ödevinizi, sensörün algılama mesafesini ve açısını ölçen bir deneyle sunabilirsiniz. Bu deney, sensörün sınırlarını sayılarla göstermenizi sağlar.

  • Mesafe doğruluğu: Bir cetvelle 5, 10, 15, 20 ve 30 cm'ye bir kitap koyun. Seri Monitör'deki değeri gerçek mesafeyle karşılaştırın.
  • Yüzey deneyi: Aynı mesafeye kitap, kumaş ve sünger koyun. Yumuşak yüzeylerin sesi emdiğini ve ölçümün zorlaştığını gözlemleyin.
  • Doluluk deneyi: Kutuya kat kat kâğıt koyup her adımda doluluk yüzdesini hesaplayın.

Örnek hipotez: "Sert yüzeyler yumuşak yüzeylerden daha doğru ölçülür." Sonuçları bir tabloya yazın ve sesin yansıması konusunu fen dersindeki bilgilerle ilişkilendirin. Başka servo seçeneklerine servo motorlar kategorisinden bakabilirsiniz.

Sık sorulan sorular

Kapak kendi kendine açılıp kapanıyorsa ne yapmalıyım?

Sensör yanlış bir yankı alıyor olabilir. Önce Seri Monitör'de mesafe değerlerine bakın; ani sıçramalar görürseniz sensörün önünde engel olmadığından emin olun. Sensörü kutunun kenarından biraz dışarı taşacak şekilde yerleştirin. Kodda iki ya da üç ölçümün ortalamasını almak da kararlılığı artırır. Servo çekerken gerilim düşüyorsa servoyu ayrı pille besleyin.

HC-SR04 en çok ne kadar uzağı ölçer?

HC-SR04 genellikle 2 cm ile 400 cm arasını ölçer. Ancak bu aralık düz ve sert yüzeyler için geçerlidir. El, kumaş gibi yumuşak ya da eğik yüzeylerde güvenilir mesafe daha kısadır. Çöp kutusu için 10-20 cm'lik bir eşik idealdir; böylece yanından geçen biri kapağı yanlışlıkla açmaz.

SG90 yerine daha güçlü bir servo kullanabilir miyim?

Evet, kapak ağırsa MG90S ya da MG996R gibi daha güçlü bir servo kullanabilirsiniz. Kod değişmez, ama güçlü servolar daha fazla akım çeker. Bu yüzden onları Arduino'nun 5V pininden değil, ayrı bir pil ya da adaptörden besleyin. Pilin eksisini mutlaka Arduino GND'sine bağlayın; aksi halde servo sinyali anlayamaz.

Proje pille çalışır mı?

Evet, kod yüklendikten sonra Arduino'yu bir USB powerbank ile çalıştırabilirsiniz. Bu en kolay ve güvenli yoldur. Arduino ve sensör az akım çeker; servo yalnızca kapak hareket ederken akım harcar. Bazı powerbank'ler çok düşük akımda kendini kapatır. Böyle bir sorun yaşarsanız başka bir model deneyin ya da 4'lü AA pil yuvası kullanın.

Özet

  • Akıllı çöp kutusu; HC-SR04 sensör, SG90 servo ve Arduino Uno ile yapılır.
  • Sensör sesin gidiş-dönüş süresini ölçer; mesafe = süre × 0,0343 / 2 formülüyle bulunur.
  • Trig D7'ye, Echo D6'ya, servo sinyali D9'a bağlanır.
  • El 15 cm'den yakınsa kapak 90 derece açılır ve 3 saniye sonra kapanır.
  • İkinci sensörle doluluk = (derinlik − mesafe) / derinlik × 100 olarak hesaplanır.
  • Ödev için farklı yüzeylerde mesafe doğruluğunu ölçüp tabloya yazın.

Bu yazıdaki ürünler

Diğer yazılar