Ana Sayfa · Akademi · Robotik ve Kodlama · Sensörler ve Aktüatörler · Proje: Mesafe Uyarı Sistemi

Proje: Mesafe Uyarı Sistemi

Mesafe sensörüyle bir nesne yaklaşınca uyaran, filtrelenmiş ve kalibre bir sistem yap.

PROJE PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Bu projede bir mesafe sensörü kullanarak, bir nesne belirlediğimiz sınırdan daha yakına geldiğinde LED ve buzzer ile uyaran küçük bir sistem kuracak; eşik seçmeyi, yanlış okumaları filtrelemeyi ve sistemi test edip düzeltmeyi öğreneceğiz.

Üretilecek kanıt

Kâğıt üzerinde şu görevi tamamla: Bir kütüphanenin sessiz çalışma masası için bir sistem tasarlıyorsun: biri masaya 30 santimetreden yakın gelince yumuşak bir ışık yansın, ama ses olmasın . Aşağıdaki sözde kodun boşluklarını doldur: esik = ____ mesafe = sensörü oku Eğer mesafe ____ ise ____ Değilse ____ Sorular: Neden buzzer yerine yalnız LED kullandın? Bu…

Kontrol tuzağı

Test senaryoları Sistemi kurduktan sonra tek tek dene: Test 1 — Boşta: Sensörün önünde hiçbir şey yokken sistem sessiz olmalı. Test 2 — Yaklaştır: Elini yavaşça yaklaştır. Eşiği geçtiğin anda buzzer ötmeli, LED yanmalı. Test 3 — Uzaklaştır: Elini geri çek. Uyarı susmalı. Test 4 — Kararlılık: Elini eşik civarında sabit…

Sonraki bağlantı

micro:bit modülü: Bu modülde öğrendiğimiz sensör ve çıkış fikirlerini micro:bit üzerinde programlayarak gerçek, çalışan küçük projelere dönüştürmeye başlayacağız.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre45–75 dk
Ön koşulProje: Otomatik Gece Lambası
İçerikProje rehberi · 1.887 kelime
Son güncelleme

Bir cümlelik özet

Bu projede bir mesafe sensörü kullanarak, bir nesne belirlediğimiz sınırdan daha yakına geldiğinde LED ve buzzer ile uyaran küçük bir sistem kuracak; eşik seçmeyi, yanlış okumaları filtrelemeyi ve sistemi test edip düzeltmeyi öğreneceğiz.

Neden önemli?

Önceki projede bir sensörün (ışık sensörü) değerine bakıp bir çıkışı (lamba) otomatik olarak açan bir sistem kurmuştuk. Şimdi aynı fikri bir adım ileri taşıyoruz: bu kez ölçtüğümüz şey mesafe, verdiğimiz tepki ise bir uyarı.

Mesafe uyarı sistemi, gerçek dünyada çok yaygın bir kalıptır: "bir şey fazla yaklaştıysa haber ver." Bunu günlük hayatta zaten görüyorsun:

Bu projede bir sensörden okuma yapmayı, okumayı bir eşik ile karşılaştırmayı, gürültülü ölçümleri temizlemeyi ve sistemi baştan sona test etmeyi bir arada uygularsın. Bunlar, ileride kuracağın daha büyük robot ve otomasyon projelerinin de temelidir.

Ne kuracağız?

Sistemin fikri

Sistemin görevi tek cümleyle şudur: Sensörün önündeki bir nesne belirlediğimiz sınırdan daha yakına gelirse LED yansın ve buzzer ötsün; nesne uzaklaşınca ikisi de sussun.

Buradaki "sınır" değere eşik (İngilizcesi *threshold*) diyoruz: "bundan yakınsa tehlike" dediğimiz mesafe. Eşiği 15 santimetre seçersek, 15 santimetreden yakın her nesne uyarıyı tetikler.

Bu projede kart hareketli bir robot değildir; masada durur, yalnızca ölçüp uyarır. Bu da onu güvenli ve kurması kolay bir başlangıç projesi yapar.

Malzeme listesi

Tüm parçalar düşük gerilimlidir. Şebeke elektriği veya priz kesinlikle kullanılmaz.

Malzeme listesi tablosu
ParçaAdetNot
micro:bit veya Arduino kartı1Kartın çalışma gerilimine uygun sensör seç
Ultrasonik mesafe sensörü1HC-SR04 tarzı; TRIG ve ECHO uçlu
Aktif buzzer (3–5 V)1Doğrudan öten tip
LED (kırmızı)1Uzun bacak artı (+) uç
Direnç1330 Ω, LED için akım sınırlama
Breadboard1Lehimsiz bağlantı için
Jumper kablo6–8Erkek-erkek / erkek-dişi
USB kablosu veya pil paketi1Yalnızca düşük gerilimli besleme

Şema (metin)

Aşağıda bağlantıları sözle çizdik. [ ] bir parçayı, ─── bir kabloyu gösterir. Tüm parçalar aynı toprağı (GND) paylaşır; bu, elektroniğin ortak "sıfır" noktasıdır.

[Kart 3–5V] ─── [Sensör VCC]
[Kart GND]  ─── [Sensör GND] ─── [Buzzer −] ─── [LED kısa bacak −]
[Kart P0]   ─── [Sensör TRIG]      (ölçüm başlat sinyali)
[Kart P1]   ─── [Sensör ECHO]      (yankı geri dönüş sinyali)
[Kart P2]   ─── [Buzzer +]
[Kart P8]   ─── [Direnç 330Ω] ─── [LED uzun bacak +]

Okuma sırası: kart TRIG ucundan sensöre "ölç" der, sensör ses dalgası gönderir, dalga geri dönünce ECHO ucundan haber gelir. Kart bu süreden mesafeyi hesaplar. Sonra bu mesafeye bakıp buzzer (P2) ve LED (P8) uçlarını açık veya kapalı tutar.

Kodun mantığı: eşiği aşınca uyar

Sensörden gelen sayı tek başına bir şey yapmaz. Asıl iş, o sayıya bakıp bir karar vermektir. Bunun için Algoritmalar dersinden bildiğimiz koşul yapısını kullanırız: mesafe eşikten küçükse uyar, değilse sus.

Sözde kod

Başla
eşik = 15   (santimetre)
Sürekli tekrarla:
  mesafe = sensörü oku
  Eğer mesafe eşikten küçükse
    buzzer'ı öttür
    kırmızı LED'i yak
  Değilse
    buzzer'ı sustur
    LED'i söndür
Bitir

Dikkat et: ölçüm bir döngü içinde, tekrar tekrar yapılır. Çünkü nesne her an hareket edebilir. Ölçümü yalnız bir kez yaparsak sistem değişen ortamı göremez.

micro:bit tarzı örnek

oku_mesafe() yerine kullandığın sensöre uygun blok ya da fonksiyon gelir; mantık aynı kalır.

esik = 15                        # santimetre

while True:
    mesafe = oku_mesafe()        # sensörden santimetre oku
    if mesafe < esik:
        buzzer_ac()              # nesne çok yakın
        led_ac()
    else:
        buzzer_kapat()           # yol boş
        led_kapat()

Eşik, filtreleme ve kalibrasyon

Basit hâliyle sistem çalışır; ama gerçek sensörler biraz "gürültülüdür". Bu bölümde sistemi daha güvenilir yapan üç fikri ekliyoruz.

Eşiği doğru seçmek

Eşik çok büyükse (örneğin 100 santimetre) sistem sürekli öter; odadaki her şey "yakın" sayılır. Eşik çok küçükse (örneğin 2 santimetre) nesne neredeyse sensöre değene kadar uyarı gelmez. İyi bir eşik, uyarının işe yaradığı ama seni boğmadığı bir aralıktır. Bunu deneyerek bulursun.

Filtreleme: tek bir kötü okumaya kanma

Ultrasonik sensörler bazen aniden çok küçük ya da çok büyük bir sayı verir. Buna gürültü denir. Tek bir hatalı okuma yüzünden buzzer'ın boşuna ötmesini istemeyiz. Çözüm: birkaç ölçüm alıp ortancasını (ortadaki değeri) kullanmak. Böylece arada sırada gelen uç değerler kararı bozamaz.

mesafe1 = sensörü oku
mesafe2 = sensörü oku
mesafe3 = sensörü oku
mesafe = bu üç değerin ortancası
Eğer mesafe eşikten küçükse
  uyar

Titremeyi önlemek: iki eşik

Nesne tam eşikte durursa sistem hızlı hızlı açılıp kapanabilir. Bunu iki eşikle (histerezis) yumuşatırız: uyarı 15 santimetrede başlasın, ama 20 santimetreye kadar uzaklaşmadan kapanmasın.

Kalibrasyon

Sensörü yerleştirince bilinen bir mesafeyi (örneğin cetvelle 20 santimetre) ölç ve ekrana bak. Sürekli 2–3 santimetre şaşıyorsa eşiğini bu farka göre ayarla. Bir sensörü gerçek dünyaya göre ayarlamaya kalibrasyon denir.

Test, hata ve geliştirme

Test senaryoları

Sistemi kurduktan sonra tek tek dene:

Bir hata ve düzeltmesi

Kurulumda çok sık görülen bir sorun şudur: sensörün önünde hiçbir şey yokken buzzer arada bir kendiliğinden ötüyor.

Belirti: Önünde nesne yokken buzzer rastgele bip diyor.

1. Okumayı gözle:
   Ekrana mesafeyi yazdır. Ara sıra 2 veya 400 gibi
   uç bir değer görüyorsan, bu bir gürültü okumasıdır.

2. Neden oluyor?
   Tek bir ölçüm bazen yanlış gelir; sistem bu yanlış
   değere bakıp "yakın!" diyerek buzzer'ı tetikler.

3. Düzeltme — filtreleme:
   Üç ölçümün ortancasını al, tek okumaya güvenme.

4. Düzeltme — makul aralık:
   Sensörün ölçebileceği aralığın dışındaki değerleri
   (örneğin 2 cm altı ya da 400 cm üstü) yok say.

Çoğu zaman çözüm filtrelemedir. Tek seferde bir şeyi değiştir ve tekrar dene; böylece hangi değişikliğin sorunu çözdüğünü net görürsün. İlk denemede kusursuz çalışmaması normaldir; hatayı bulup düzeltmek bu işin en öğretici kısmıdır.

Geliştirme fikirleri

Temel sistem çalıştıysa şunları deneyebilirsin:

Mini uygulama

Kâğıt üzerinde şu görevi tamamla:

Bir kütüphanenin sessiz çalışma masası için bir sistem tasarlıyorsun: biri masaya 30 santimetreden yakın gelince yumuşak bir ışık yansın, ama ses olmasın. Aşağıdaki sözde kodun boşluklarını doldur:

esik = ____
mesafe = sensörü oku
Eğer mesafe ____ ise
  ____
Değilse
  ____

Sorular:

Projeyi güçlendirme planı

Proje: Mesafe Uyarı Sistemi için yalnız çalışan bir gösterim hazırlamak yeterli değildir. İyi bir proje; hedefi, kullanıcıyı, sınırları, test koşullarını ve başarısız denemeleri de görünür kılar. Bu genişletme çalışmasında karanlıkta açılıp aydınlıkta kapanan gece lambası bağlamını kullanarak ölçüm tablosu, kalibrasyon kararı ve güvenli çıktı davranışı oluştur. Dersin hedefi “Mesafe sensörüyle bir nesne yaklaşınca uyaran, filtrelenmiş ve kalibre bir sistem yap” olsa da proje sayfasında ölçülmemiş bir sonucu kesin başarı gibi yazma.

1. Proje özeti ve kapsam

Önce üç cümle yaz: Çözmek istediğin sorun nedir, bu sorun kimin için önemlidir ve ilk sürüm özellikle neyi yapmayacaktır? Kapsam dışını belirtmek projeyi küçültmez; tamamlanabilir hâle getirir. Ne kuracağız? ile Malzeme listesi arasındaki ilişkiyi projenin temel varsayımı olarak yaz ve bu varsayımı hangi testin doğrulayacağını belirt.

2. Kabul ölçütleri

“Proje: Mesafe Uyarı Sistemi” için kabul ölçütlerini “çalışıyor” gibi belirsiz sözcüklerle bırakma. Süre, mesafe, doğru deneme sayısı, ekran genişliği veya kullanıcı adımı gibi gözlenebilir bir ölçü seç. Ölçüm mümkün değilse en azından üç ardışık denemede aynı davranışın görülüp görülmediğini kaydet.

3. Test matrisi

3. Test matrisi tablosu
TestKoşulBeklenenGerçek sonuçSonraki karar
NormalStandart giriş ve tam bağlantıTemel görev tamamlanırTest sırasında doldurKoru veya küçük iyileştirme yap
SınırEn düşük ya da en yüksek kabul edilen değerSistem kararlı kalırTest sırasında doldurEşiği veya kuralı gözden geçir
HataEksik, yanlış ya da beklenmeyen girişGüvenli ve anlaşılır tepkiTest sırasında doldurHata yönetimi ekle
TekrarAynı koşulda en az üç denemeBenzer sonuçlarTest sırasında doldurTutarsızlığın kaynağını araştır

4. Sürüm günlüğü

“Proje: Mesafe Uyarı Sistemi” projesinin her sürümü için tarih, değiştirdiğin tek ana karar, değişikliğin nedeni ve test sonucu yaz. İlk sürümün çalışmaması başarısızlık değildir; Ne kuracağız? veya Malzeme listesi ile ilgili hangi varsayımın yeniden düşünülmesi gerektiğini gösteren veridir. Görsel kullanırken kişisel bilgi ve özel arka plan ayrıntılarını paylaşma.

5. Sunum ve öz değerlendirme

“Proje: Mesafe Uyarı Sistemi” projesini iki dakikada anlatacak şekilde hazırlan: sorun, çözüm yaklaşımı, karanlıkta açılıp aydınlıkta kapanan gece lambası için en önemli test sonucu ve bir sonraki adım. “Tamamlandı” demek yerine hangi kısmın doğrulandığını ve hangi kısmın hâlâ geliştirilmesi gerektiğini açıkla.

Sık yapılan hatalar

Eşiği hiç belirlememek

Sensör sayısını bir eşikle karşılaştırmazsan sistem karar veremez. Mutlaka bir "şundan yakınsa" koşulu olmalı.

Ölçümü döngüye almamak

Mesafe sürekli değişir. Başta bir kez ölçersen sistem hareketi kaçırır; ölçüm bir döngü içinde tekrarlanmalı.

Tek okumaya güvenmek

Tek ölçüm bazen yanlış gelir; filtreleme yapmazsan buzzer boşuna öter. Birkaç ölçümün ortancasını kullan.

Ortak toprağı unutmak

Sensör, buzzer, LED ve kart aynı GND hattını paylaşmazsa sistem düzgün çalışmaz. Tüm eksi uçlar ortak toprağa bağlı olmalı.

Güvenlik notu

Ders özeti

Kontrol soruları

  1. Bu sistemde "eşik" ne demektir ve ne işe yarar?
  2. Mesafe uyarı sisteminde tek ölçüm yerine ardışık ölçümler hangi değişimi yakalar?
  3. Sensörün önünde nesne yokken buzzer arada bir ötüyor. Muhtemel sebep nedir ve nasıl düzeltirsin?
  4. Eşiği çok büyük (örneğin 100 santimetre) seçersen ne olur?
  5. Mesafe uyarı prototipi neden yalnız düşük gerilimli eğitim kaynağıyla sınırlandırılır?

Cevaplar

  1. Eşik, "bundan yakınsa tehlike" dediğimiz sınır mesafedir; uyarının ne zaman başlayacağına o karar verir.
  2. Çünkü nesnenin konumu sürekli değişir. Bir kez ölçersek hareketi göremeyiz; döngü sayesinde mesafe her an güncellenir.
  3. Muhtemel sebep gürültülü tek bir okumadır; sensör ara sıra çok küçük bir değer verir ve sistem "yakın" sanır. Çözüm: birkaç ölçümün ortancasını almak ve makul aralık dışındaki değerleri yok saymak (filtreleme).
  4. Sistem neredeyse sürekli öter; her şey "yakın" sayılır ve uyarı işe yaramaz. Eşiği daha küçük, anlamlı bir değere çekmek gerekir.
  5. Şebeke elektriği yüksek gerilimli ve tehlikelidir. Öğrenme projelerinde yalnızca USB, micro:bit veya pil gibi düşük gerilimli kaynaklar kullanılır.

Kaynak ve doğrulama notu

“Proje: Mesafe Uyarı Sistemi” dersi için doğrulama odağı Ne kuracağız? ile Malzeme listesi arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Sensör değerleri modele, besleme gerilimine ve ortama göre değişebilir. Bu nedenle derslerdeki eşikler örnek kabul edilmeli; gerçek projede ölçüm tablosu oluşturularak kalibrasyon yapılmalıdır.

Sonraki ders

micro:bit modülü: Bu modülde öğrendiğimiz sensör ve çıkış fikirlerini micro:bit üzerinde programlayarak gerçek, çalışan küçük projelere dönüştürmeye başlayacağız.

Quiz’i BaşlatSensörler ve Aktüatörler bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.