Bozuk ölçümü fark eden mesafe gözlemcisi
Tek bir aşırı uzaklık okuması yüzünden robotun karar değiştirmesini önle. Son üç geçerli örneğin medyanını kullan; negatif ölçümü ayrıca reddet.
13+ yaş · 45 dakika · Python 3 · deney modeli
İnteraktif atölyede aç →Neler öğreneceğiz?
Tek bir aşırı uzaklık okuması yüzünden robotun karar değiştirmesini önle. Son üç geçerli örneğin medyanını kullan; negatif ölçümü ayrıca reddet.
Bu atölyede yalnız sonuca değil, tahmininin neden doğru veya yanlış çıktığına da bak. Bir deney günlüğünde giriş, beklenen sonuç, gözlenen sonuç ve düzeltme olmak üzere dört sütun aç.
Python kodu ölçüm/algoritma modelidir; GPIO pinlerine veya motora komut göndermez. Animasyon ise konuyu gösteren ayrı ve ideal bir modeldir.
Öğrenme hedefleri
- Ham dizide 200 ve −1 değerlerinin neden farklı sorunlar olduğunu açıkla.
- En son geçerli ölçüm çok eskiyse filtreli değer yerine DUR çıktısı üret.
Malzeme listesi
- Python 3 çalıştırabilen bilgisayar
- Kareli kâğıt, kalem ve deney günlüğü
Adım adım yapalım
- Ham dizide 200 ve −1 değerlerinin neden farklı sorunlar olduğunu açıkla.
- Üç elemanlı pencereyi her yeni ölçümde güncelle.
- 200 örneğinde ortalama ve medyanı elle hesaplayıp karşılaştır.
- Kodu çalıştır; negatif ölçümün pencereye eklenmediğini doğrula.
- Üç ardışık 200 ekle; medyanın artık yüksek olmasını yorumla.
- Filtrenin arızayı tamamen çözemeyeceği bir durum yaz.
Kod · Python 3 · deney modeli
from statistics import median
samples=[30,31,29,200,30,-1,28,29]
window=[]
for value in samples:
if value<0:print("Geçersiz ölçüm");continue
window=(window+[value])[-3:]
print(value,"medyan",median(window))Kod nasıl çalışır?
Medyan ortadaki sıralı değerdir; tek aykırı değere ortalamadan dayanıklıdır. Etkileşimli alan hareketli ortalamayı gösterir; iki filtrenin farkını karşılaştır.
Beklenen sonuç
Python modelinin çalıştırılan çıktısı (fiziksel ölçüm değildir):
30 medyan 30
31 medyan 30.5
29 medyan 30
200 medyan 31
30 medyan 30
Geçersiz ölçüm
28 medyan 30
29 medyan 29
Sıra sende
En son geçerli ölçüm çok eskiyse filtreli değer yerine DUR çıktısı üret.
Güvenli atölye
Bu çalışma düşük gerilimli eğitim içindir. Donanımı enerji kapalıyken, bir yetişkinle kur. Şebeke elektriği kullanma. Kodun derlenmesi fiziksel devrenin test edildiği anlamına gelmez.
Çalışmıyorsa kontrol et
- Sonucu alamıyorsan programın ilk satırından başlayıp girdileri tek tek kontrol et.
- Donanım varsa enerjiyi ayır; GND, sinyal uçları ve parça yönlerini bağlantı tablosundan doğrula.
- Aynı anda yalnız bir şeyi değiştir; değişiklik öncesi ve sonrası sonucu günlüğe yaz.
Kontrol noktaları
- Başlamadan önce: gerekli malzemeleri say ve giriş değerlerini deney günlüğüne yaz.
- Kurulumdan sonra: her bağlantıyı aşağıdaki tabloyla karşılaştır; yazılım projesinde giriş listesini kontrol et.
- Testten sonra: beklenen sonucu kendi çıktınla karşılaştır. Fark varsa ilk farklı adımı bul.
Kaynakların kullanımı
Kaynak, ilgili kavramı öğrenmek ve karşılaştırmak içindir. Türkçe görev, örnek kod ve görseller bu atölye için özgün hazırlanmıştır; kaynak makalenin çevirisi veya kopyası değildir.