Mesafe Sensörü

Ultrasonik mesafe sensörüyle uzaklığı ölçüp engel algılamayı öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Mesafe sensörü, bir nesnenin ne kadar uzakta olduğunu ölçer; robotların önlerindeki engeli görüp çarpmadan durmasını sağlayan en önemli duyulardan biridir.

Üretilecek kanıt

Bu uygulamayı sensörün olmadan da, kağıt üzerinde düşünerek yapabilirsin. Amaç: Bir masa üstü robotunun masadan düşmeden ilerlemesi. Robotun önüne bir mesafe sensörü taktığını düşün. Bir eşik değeri seç (örneğin 12 santimetre). Aşağıdaki boşluğu kendi mantığınla doldur: mesafe = sensörü oku Eğer mesafe ____ santimetreden küçükse ____ Değilse ____ Sorular:…

Kontrol tuzağı

Eşiği hiç belirlememek Sensörden gelen sayıyı okuyup hiçbir koşula bağlamazsan robot kararı veremez. Mutlaka bir "şundan yakınsa" karşılaştırması olmalı. Ölçümü bir kere yapmak Mesafe sürekli değişir. Ölçümü sadece başta bir kez yaparsan robot değişen ortamı göremez. Ölçüm bir döngü içinde, tekrar tekrar yapılmalı.…

Sonraki bağlantı

Hareket Sensörü: Bir ortamda hareket olup olmadığını algılayan sensörü tanıyacak, "biri geçince ışığı yak" gibi kuralları kuracağız.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre25–35 dk
Ön koşulSıcaklık Sensörü
İçerikStandart ders · 1.394 kelime
Son güncelleme

Bir cümlelik özet

Mesafe sensörü, bir nesnenin ne kadar uzakta olduğunu ölçer; robotların önlerindeki engeli görüp çarpmadan durmasını sağlayan en önemli duyulardan biridir.

Neden önemli?

Bir robotun gözü yoktur. Önünde bir duvar mı, bir sandalye mi, yoksa boş bir yol mu olduğunu bilmez. Mesafe sensörü tam burada devreye girer: robota "önümde bir şey var ve şu kadar yakın" bilgisini verir.

Bu bilgi olmadan bir robot her yere çarpar. Mesafe sensörüyle ise robot durabilir, yön değiştirebilir veya yavaşlayabilir. Buna robotikte engel kaçınma denir ve neredeyse her hareketli robotun temel becerisidir.

Aslında bu sensörü günlük hayatta zaten görüyorsun:

Robot kolun, oyuncak arabanın ya da bir çizgi izleyen robotun "düşünmeden" durabilmesinin arkasında çoğu zaman bir mesafe sensörü vardır.

Ultrasonik mesafe sensörü nasıl çalışır?

En çok kullanılan mesafe sensörü ultrasonik olanıdır. İsmi karışık görünse de fikri çok basittir: ses dalgasıyla mesafe ölçer.

Yarasa gibi düşün

Yarasalar karanlıkta uçarken bir ses çıkarır. Bu ses bir nesneye çarpıp geri döner. Yarasa, sesin geri dönme süresine bakarak nesnenin ne kadar uzakta olduğunu anlar. Buna ekolokasyon denir.

Ultrasonik sensör de tam olarak bunu yapar:

  1. Sensör, kulağımızın duyamayacağı kadar yüksek frekanslı bir ses dalgası gönderir (bu yüzden "ultrasonik").
  2. Ses dalgası önündeki nesneye çarpar ve geri yansır.
  3. Sensör, sesin gidip gelme süresini ölçer.
  4. Ses havada sabit bir hızla yayıldığı için, bu süreden mesafeyi hesaplar.

Süreden mesafeye

Ses hava içinde yaklaşık saniyede 340 metre yol alır. Sensör "sesi gönderdim ve tam olarak şu kadar sonra geri geldi" der. Süre uzunsa nesne uzaktır; süre kısaysa nesne yakındır.

Bu hesabı bizim için genellikle bir kütüphane ya da hazır blok yapar. Biz çoğu zaman doğrudan santimetre cinsinden bir sayı okuruz. Örneğin sensör bize mesafe = 25 verdiğinde, "önümde 25 santimetre ötede bir şey var" demek ister.

Günlük hayattan iki örnek

Sensörü okumak ve engel algılamak

Mesafe sensöründen tek başına bir sayı almak yeterli değildir. Asıl iş, o sayıya bakıp bir karar vermektir. Bunun için Algoritmalar dersinden hatırladığımız koşul yapısını kullanırız.

Temel fikir şudur: bir eşik (sınır değer) belirle. Ölçülen mesafe bu eşiğin altına düşerse, "engel var" kabul et.

Sözde kod: yaklaşınca dur

Başla
Sürekli tekrarla:
  mesafe = sensörü oku
  Eğer mesafe 15 santimetreden küçükse
    motorları durdur
    kırmızı LED'i yak
  Değilse
    ileri git
    yeşil LED'i yak
Bitir

Burada 15 santimetre bizim eşiğimiz. Robot her an mesafeyi ölçer. Bir şey 15 santimetreden daha yakına gelirse durur ve uyarı verir; yol boşsa hareketine devam eder.

micro:bit tarzı örnek

Aşağıdaki kısa örnek, ölçülen mesafeye göre farklı davranır. oku_mesafe() yerine kullandığın sensöre uygun blok ya da fonksiyon gelir; mantık aynı kalır.

while True:
    mesafe = oku_mesafe()      # santimetre cinsinden
    if mesafe < 15:
        motorlari_durdur()     # engel çok yakın
        goster("DUR")
    else:
        ileri_git(hiz=30)      # yol boş, yavaşça ilerle

İki eşikli daha akıllı bir örnek

Robotu tek adımda durdurmak yerine, önce yavaşlatıp sonra durdurmak daha yumuşak olur. Bunu iki eşikle yapabiliriz.

mesafe = sensörü oku
Eğer mesafe 10 santimetreden küçükse
  dur
Değilse eğer mesafe 25 santimetreden küçükse
  yavaşla
Değilse
  normal hızda ilerle

Bu, gerçek robotların engele çarpmadan nazikçe durmasını sağlayan mantığa çok yakındır.

Mini uygulama

Bu uygulamayı sensörün olmadan da, kağıt üzerinde düşünerek yapabilirsin.

Amaç: Bir masa üstü robotunun masadan düşmeden ilerlemesi.

  1. Robotun önüne bir mesafe sensörü taktığını düşün.
  2. Bir eşik değeri seç (örneğin 12 santimetre).
  3. Aşağıdaki boşluğu kendi mantığınla doldur:
mesafe = sensörü oku
Eğer mesafe ____ santimetreden küçükse
  ____
Değilse
  ____

Sorular:

Tek bir doğru cevap yoktur. Amaç, eşiğin robotun davranışını nasıl değiştirdiğini görmektir.

Uygulama laboratuvarı: Mesafe Sensörü

Mesafe Sensörü konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Ultrasonik mesafe sensörü nasıl çalışır? ile Süreden mesafeye arasındaki ilişkiyi kullanarak ölçüm tablosu, kalibrasyon kararı ve güvenli çıktı davranışı hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.

Görev senaryosu

Şu senaryoyu ele al: sıcaklık değişimini ölçüp eşik aşımını bildiren düzenek. Dersin ana hedefi “Ultrasonik mesafe sensörüyle uzaklığı ölçüp engel algılamayı öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.

  1. Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
  2. En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
  3. Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
  4. Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
  5. Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.

Başarı ölçütleri

“Mesafe Sensörü” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın sıcaklık değişimini ölçüp eşik aşımını bildiren düzenek senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Ultrasonik mesafe sensörü nasıl çalışır? ve Süreden mesafeye ilişkisini daha küçük adımlara bölerek düzelt.

Sık yapılan hatalar

Eşiği hiç belirlememek

Sensörden gelen sayıyı okuyup hiçbir koşula bağlamazsan robot kararı veremez. Mutlaka bir "şundan yakınsa" karşılaştırması olmalı.

Ölçümü bir kere yapmak

Mesafe sürekli değişir. Ölçümü sadece başta bir kez yaparsan robot değişen ortamı göremez. Ölçüm bir döngü içinde, tekrar tekrar yapılmalı.

Sensörü yanlış yöne bakacak şekilde takmak

Ultrasonik sensör önüne baktığı yeri ölçer. Yukarı ya da yana dönükse önündeki engeli göremez. Sensörün gitmek istediğin yöne baktığından emin ol.

Çok yumuşak veya çok küçük nesneleri unutmak

Ses dalgası yumuşak kumaş ya da çok ince nesnelerde iyi yansımayabilir. Bazı engeller sensöre "görünmez" olabilir; bu yüzden robotu her zaman gözlem altında dene.

Güvenlik notu

Ders özeti

Kontrol soruları

  1. Ultrasonik mesafe sensörü mesafeyi ölçmek için neyi kullanır?
  2. Sensör "önümde 8 santimetre ötede bir şey var" diyor. Eşiğimiz 15 santimetre ve kural "eşikten yakınsa dur" ise robot ne yapar?
  3. Ölçümü neden bir döngü içinde tekrar tekrar yapmamız gerekir?
  4. Motoru neden doğrudan kartın pininden beslememeliyiz?
  5. Robotu ilk denemede neden düşük hızda başlatmak daha güvenlidir?

Cevaplar

  1. Ses dalgası kullanır. Gönderdiği yüksek frekanslı sesin bir nesneye çarpıp geri dönme süresini ölçerek mesafeyi hesaplar.
  2. Robot durur (ve genelde bir uyarı verir), çünkü 8 santimetre, eşik olan 15 santimetreden daha yakındır.
  3. Çünkü ortam ve engellerin konumu sürekli değişir. Sadece bir kez ölçersek robot bu değişimleri göremez ve yanlış karar verir.
  4. Motorlar çok akım çeker; doğrudan pine bağlamak kartına zarar verebilir. Bunun yerine bir motor sürücü ve ayrı, uygun bir güç kaynağı kullanılır.
  5. Düşük hızda robot, sensör "dur" komutunu verecek zamanı bulur ve engele çarpma riski azalır. Yüksek hızda robot durmadan önce çarpabilir.

Kaynak ve doğrulama notu

“Mesafe Sensörü” dersi için doğrulama odağı Ultrasonik mesafe sensörü nasıl çalışır? ile Süreden mesafeye 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

Hareket Sensörü: Bir ortamda hareket olup olmadığını algılayan sensörü tanıyacak, "biri geçince ışığı yak" gibi kuralları kuracağı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.