Bilişim Ders Notları
Robotik 2 · 30. hafta · Gösterge ve Mesafe Uygulamaları (LCD, Çarpışma Önleyici)

Yazılım 1: Ölçüm Alt Programı ve Filtre

Robotik Kodlama 2 · 30. hafta ders notu · RK.2.3.2

Öğrenme çıktıları
RK.2.3.2
  • Mesafe ölçme adımlarını tek bir alt programda (fonksiyonda) toplar ve programın farklı yerlerinden çağırır.
  • Seri monitörü açarak ölçüm değerlerini izler; hatalı 0 ve ani sıçrama değerlerini fark eder.
  • Birkaç ölçümün ortalamasını alarak gürültüyü azaltır; geçersiz (0) ölçümleri hesaba katmamanın gerekçesini açıklar.
  • Ortalama ile ortancayı (medyan) bir örnek üzerinde karşılaştırır, ölçüm sayısı ile tepki hızı arasındaki dengeyi tartışır.
Bilgisayarsız sınıf alternatifi

İnsan ölçüm cihazları

Beş öğrenci sırayla tahtadan aynı kutuya olan uzaklığı adımla ya da cetvelle ölçer ve sonucu kâğıda yazar. Öğretmen bir öğrenciye gizlice "0 yaz", bir başkasına "iki katını yaz" kartı verir. Sınıf beş değerin ortalamasını ve ortancasını tahtada hesaplar; ardından 0'ı çıkarıp yeniden hesaplar. Hangi yöntemin hatalı ölçümden daha az etkilendiği tartışılır ve bu fikrin programdaki "mesafe ölç" alt programına nasıl dönüştüğü tahtada gösterilir.

Konu anlatımı

Önce konuyu aç, sonra sorulara dokun: cevap altında açılır. Soru işaretli kutulara dokununca cevap görünür.

01Seri monitörü okumak
Tinkercad · Kod paneli Seri MonitörKütüphane 31.2 cm30.8 cm31.0 cm0.0 cm30.9 cm31.1 cm58.4 cm30.7 cm Gönder… Temizle Grafik görünümü sıçrama
  1. 1Seri Monitör düğmesiArduino’nun Serial.println ile yazdıklarını açar.Dokun, adını gör
  2. 2Ölçüm satırlarıHer satır bir ölçümdür; değerleri gözle izleriz.Dokun, adını gör
  3. 3Hatalı 0.0Yankı yakalanamadığında süre 0 gelir; mesafe 0 görünür.Dokun, adını gör
  4. 4Gönder kutusuArduino’ya klavyeden veri göndermek için kullanılır.Dokun, adını gör
  5. 5Grafik görünümüAynı sayıları çizgi grafik olarak gösterir; sıçramalar hemen fark edilir.Dokun, adını gör
  6. 6SıçramaTek bir hatalı ölçüm; ortalama ya da ortanca ile bastırılır.Dokun, adını gör

Numaralara dokun.

?Seri monitör ne işe yarar?
Arduino'nun programın içinden bilgisayara gönderdiği sayıları ve yazıları gösterir. Sensörün ne ölçtüğünü, değişkenlerin hangi değeri aldığını görmemizi sağlar; robotik projelerde "programın içini görme penceresidir".
?Ekranda neden ara sıra 0 görünür?
Yankı sensöre dönmezse (yumuşak ya da eğik yüzey, çok uzak engel) pulseIn süre sınırını aşar ve 0 verir. 0 cm gerçek bir mesafe değil, "ölçemedim" anlamına gelir.
Anahtar kavramlar: Seri monitörBaud hızıGürültü
02Alt program: mesafe ölç
?Alt program kullanmanın üç faydası nedir?
Tekrarı önler (aynı bloklar her yere kopyalanmaz), okunabilirliği artırır (ana program bir hikâye gibi okunur) ve hatayı tek bir yerde düzeltmeyi sağlar.
?Arduino C'de fonksiyonun başındaki "float" ne demektir?
Fonksiyonun geri vereceği sonucun türünü söyler. float ondalıklı sayı demektir; mesafe 27,4 cm gibi ondalıklı olabileceği için float seçilir. Sonuç "return" komutuyla geri verilir.
Arduino başladığında
sürekli tekrarla
mesafe ölç
seri monitöre mesafe yaz
Anahtar kavramlar: Alt programFonksiyonreturn
mesafeOlc() 1Trig’i 10 µs YÜKSEK yap2pulseIn ile süreyi ölç3süre × 0,034 ÷ 24sonucu geri döndür Trig 7 · Echo 6 27 cm Seri monitöre yazLED ve buzzer kararıMotor kararı Bir kez yaz, her yerde çağır
03Ortalama ile gürültüyü azaltmak
?Ölçümler arasında neden 60 ms bekliyoruz?
Sensörün üretici belgesi ölçümler arasında en az 60 ms bırakmayı önerir. Daha sık ölçersek önceki ölçümün geç gelen yankısı yeni ölçüme karışabilir.
?5 ölçümün hepsi 0 gelirse ne olur?
"geçerli" sayısı 0 kalır ve toplam / geçerli işlemi sıfıra bölme olur. Bunu önlemek için "geçerli = 0 ise mesafeyi 999 yap" gibi bir kontrol eklenir; 999, "önünde engel yok" anlamında kullanılır.
mesafe ölç ▾ tanımla
toplam ▾ değişkenini 0 yap
geçerli ▾ değişkenini 0 yap
5 kez tekrarla
ölçüm ▾ değişkenini ultrasonik mesafe trig 7 echo 6 yap
eğer (0) < (ölçüm) ise
toplam ▾ değişkenini ölçüm değiştir
geçerli ▾ değişkenini 1 değiştir
0.06 saniye bekle
mesafe ▾ değişkenini toplam / geçerli yap
Biliyor muydun?

Ortalama yerine ortanca kullanmak tek bir hatalı sıçramayı neredeyse tamamen siler, ama sıralama gerektirdiği için kodu biraz uzundur. 2. düzeyde ortalama yeterlidir; meraklı gruplar ortancayı deneyebilir.

0204060 cmölçüm sırası (her 60 ms) Ham ölçüm Son 5 ölçümün ortalaması Son 5 ölçümün ortancası Hatalı 0 ve 58 cm
04Arduino C karşılığı

Kodu bloklarla satır satır karşılaştır.

?"for (int i = 0; i < 5; i++)" satırı hangi bloğa karşılık gelir?
"(5) kez tekrarla" bloğuna. i sayacı 0'dan başlar, her turda 1 artar ve 5 olduğunda döngü biter; böylece içerisi 5 kez çalışır.
?Serial.print ile Serial.println neden birlikte kullanıldı?
print aynı satırda yazmaya devam eder, println yazdıktan sonra alt satıra geçer. Böylece her ölçüm "Mesafe: 27.40 cm" biçiminde tek ve okunaklı bir satır olur.
float mesafeOlc() {
  float toplam = 0;
  int gecerli = 0;
  for (int i = 0; i < 5; i++) {
    digitalWrite(TRIG, LOW);  delayMicroseconds(2);
    digitalWrite(TRIG, HIGH); delayMicroseconds(10);
    digitalWrite(TRIG, LOW);
    long sure = pulseIn(ECHO, HIGH, 30000);
    if (sure > 0) {
      toplam += sure * 0.034 / 2;
      gecerli++;
    }
    delay(60);
  }
  if (gecerli == 0) return 999;   // engel yok
  return toplam / gecerli;
}

void loop() {
  float d = mesafeOlc();
  Serial.print("Mesafe: ");
  Serial.print(d);
  Serial.println(" cm");
}

Ders akışı

40 dakikalık bir ders saati için planlandı. Adımın başlığına dokun, ayrıntılar açılsın.

5dk

Isınma: Hangi sayıya güvenirsin?

Seri monitör çizimini yansıt: 31,2 · 30,8 · 31,0 · 0,0 · 30,9 · 58,4. "Engel kaç cm uzakta?" diye sor. Öğrenciler 0 ve 58,4'ün yanlış olduğunu fark eder. Gerçek sensörlerin her zaman küçük hatalar yaptığını, buna gürültü dendiğini, bugün programımızı bu gürültüye karşı güçlendireceğimizi söyle.

Tinkercad · Kod paneli Seri MonitörKütüphane 31.2 cm30.8 cm31.0 cm0.0 cm30.9 cm31.1 cm58.4 cm30.7 cm Gönder… Temizle Grafik görünümü sıçrama
10dk

Keşif: Alt program yazalım

Ölçüm adımlarını "mesafe ölç" adlı bir alt programa taşı. Ana programın yalnızca iki satıra indiğini göster: "mesafe ölç" ve "seri monitöre yaz". Alt programın faydasını tartışın: LED, buzzer ve motor kararları da aynı ölçümü kullanacak; bir hata olursa tek bir yerde düzeltilecek. Arduino C'de bunun "float mesafeOlc()" biçiminde, sonucu return ile geri veren bir fonksiyon olduğunu göster.

mesafeOlc() 1Trig’i 10 µs YÜKSEK yap2pulseIn ile süreyi ölç3süre × 0,034 ÷ 24sonucu geri döndür Trig 7 · Echo 6 27 cm Seri monitöre yazLED ve buzzer kararıMotor kararı Bir kez yaz, her yerde çağır
10dk

Keşif: Ortalama ile gürültüyü bastır

Grafik çizimini aç: gri noktalar ham ölçüm, sarı çizgi son 5 ölçümün ortalaması, yeşil çizgi ortancası. Alt programa 5 kez ölçen ve toplayan döngüyü ekleyin. Önce 0 değerlerini de toplayıp sonucu görün, ardından "ölçüm 0'dan büyükse topla" koşulunu ekleyip farkı karşılaştırın.

0204060 cmölçüm sırası (her 60 ms) Ham ölçüm Son 5 ölçümün ortalaması Son 5 ölçümün ortancası Hatalı 0 ve 58 cm
mesafe ölç ▾ tanımla
toplam ▾ değişkenini 0 yap
geçerli ▾ değişkenini 0 yap
5 kez tekrarla
ölçüm ▾ değişkenini ultrasonik mesafe trig 7 echo 6 yap
eğer (0) < (ölçüm) ise
toplam ▾ değişkenini ölçüm değiştir
geçerli ▾ değişkenini 1 değiştir
0.06 saniye bekle
mesafe ▾ değişkenini toplam / geçerli yap
10dk

Etkinlik: Ham mı, filtreli mi?

Gruplar seri monitöre hem ham ölçümü hem filtreli mesafeyi yan yana yazdırır. Benzetimde hedefi 30 cm'de tutup 10 satır not ederler; sonra hedefi hızla 30 cm'den 10 cm'ye çekip filtreli değerin yeni mesafeye kaç satırda ulaştığını sayarlar. "Ölçüm sayısını 5'ten 20'ye çıkarırsak ne olur?" sorusunu yanıtlarlar.

5dk

Değerlendirme: Kod kontrol listesi

Gruplar kodlarını 4 maddelik listeyle öz değerlendirir: alt programın anlamlı bir adı var mı, ana program sade mi, 0 ölçümleri dışarıda mı, seri monitör çıktısı okunaklı mı. Ardından bir başka grubun seri monitör görüntüsüne bakıp "bu sayılara güvenir miydin?" sorusuna gerekçeli akran yanıtı verirler.

Doğru mu, yanlış mı?

Dersin sonunda tahtada ya da öğrencinin kendi cihazında çözülür.

1. Alt program (fonksiyon), birden çok kez kullanılan adımları tek bir adın altında toplar.

Cevabı gösterDoğru · Böylece aynı blokları her yere kopyalamak yerine yalnızca adını çağırırız.

2. Alt programda bir hata düzeltildiğinde, onu çağıran her yerde düzeltme kendiliğinden geçerli olur.

Cevabı gösterDoğru

3. Ultrasonik sensör her ölçümde mutlaka doğru değeri verir.

Cevabı gösterYanlış · Yankı kaçabilir, yumuşak yüzey sesi emebilir ya da kablo gevşek olabilir. Bu yüzden ara sıra 0 ya da ani sıçrayan değerler görülür; buna gürültü denir.

4. 30, 31, 30, 0 ve 31 değerlerinin ortalaması alındığında sonuç yaklaşık 30 cm çıkar.

Cevabı gösterYanlış · Toplam 122, ortalama 24,4 cm olur; tek bir 0 değeri sonucu 6 cm kaydırır. 0'ı dışarıda bırakırsak ortalama 30,5 cm olur.

5. Ortanca (medyan), değerler sıralandığında ortada kalan değerdir ve tek bir aşırı değerden az etkilenir.

Cevabı gösterDoğru · 0, 30, 30, 31, 31 sıralamasında ortanca 30'dur.

6. Ortalama için alınan ölçüm sayısı arttıkça sistem engele daha hızlı tepki verir.

Cevabı gösterYanlış · Tersine yavaşlar: 20 ölçüm × 60 ms = 1,2 saniye. Ölçüm sayısı arttıkça değer daha kararlı olur ama tepki gecikir; projede 3–5 ölçüm iyi bir dengedir.

7. Arduino C'de Serial.begin(9600) komutu seri haberleşmeyi 9600 baud hızında başlatır.

Cevabı gösterDoğru

8. Serial.print yazdıktan sonra alt satıra geçer, Serial.println aynı satırda devam eder.

Cevabı gösterYanlış · Tersi doğrudur: println ("print line") yazdıktan sonra alt satıra geçer; print aynı satırda devam eder.

9. pulseIn(ECHO, HIGH, 30000) komutunda 30000, yankı gelmezse en fazla 30 000 µs beklenmesini sağlayan süre sınırıdır.

Cevabı gösterDoğru · Süre sınırı yazılmazsa pulseIn 1 saniyeye kadar bekleyebilir ve program o süre boyunca donar.

30. hafta günlük planı

2026–2027 2. düzey Seçmeli Robotik Kodlama 2 dersi 30. hafta günlük planı. Okul ve öğretmen bilgileriyle doldurulmuş Word dosyası için etkileşimli sürümde Evraklar › Günlük planlar bölümünü kullanın.

2026–2027 EĞİTİM ÖĞRETİM YILI …………………………

SEÇMELİ ROBOTİK KODLAMA 2. SEVİYE DERSİ GÜNLÜK PLANI · 30. HAFTA

BÖLÜM I · DERSE İLİŞKİN BİLGİLER
DersSeçmeli Robotik Kodlama 2. SeviyeSınıf / Düzey2. düzey (seçmeli)
Hafta / Tarih30. Hafta · 3–7 Mayıs (MAYIS)Süre2 ders saati (40' + 40')
TemaÇARPIŞMA ÖNLEYİCİ
KonuYazılım 1: Ölçüm Alt Programı ve Filtre
BÖLÜM II · ÖĞRENME ÇIKTILARI VE KAYNAKLAR
Öğrenme çıktısıRK.2.3.2 Yazılım yerleştirme, benzetim, test ve hata ayıklama
Süreç bileşenleri
  • Mesafe ölçme adımlarını tek bir alt programda (fonksiyonda) toplar ve programın farklı yerlerinden çağırır.
  • Seri monitörü açarak ölçüm değerlerini izler; hatalı 0 ve ani sıçrama değerlerini fark eder.
  • Birkaç ölçümün ortalamasını alarak gürültüyü azaltır; geçersiz (0) ölçümleri hesaba katmamanın gerekçesini açıklar.
  • Ortalama ile ortancayı (medyan) bir örnek üzerinde karşılaştırır, ölçüm sayısı ile tepki hızı arasındaki dengeyi tartışır.
Araç, gereç ve kaynaklarAkıllı tahta ve Tinkercad Devreler (geçen haftaki sensör devresi) · Mesafe ölçüm kâğıdı (5 ölçümlük tablo) · Metre, karton kutu · Gizli görev kartları (bilgisayarsız etkinlik için) · Bilişim Ders Notları ders sayfası, sunum ve etkinlikler (bilisimdersnotlari.com)
BÖLÜM III · ÖĞRENME-ÖĞRETME UYGULAMALARI
SüreEtkinlik akışı
1. ders
5 dk
Isınma: Hangi sayıya güvenirsin?
Seri monitör çizimini yansıt: 31,2 · 30,8 · 31,0 · 0,0 · 30,9 · 58,4. "Engel kaç cm uzakta?" diye sor. Öğrenciler 0 ve 58,4'ün yanlış olduğunu fark eder. Gerçek sensörlerin her zaman küçük hatalar yaptığını, buna gürültü dendiğini, bugün programımızı bu gürültüye karşı güçlendireceğimizi söyle.
1. ders
10 dk
Keşif: Alt program yazalım
Ölçüm adımlarını "mesafe ölç" adlı bir alt programa taşı. Ana programın yalnızca iki satıra indiğini göster: "mesafe ölç" ve "seri monitöre yaz". Alt programın faydasını tartışın: LED, buzzer ve motor kararları da aynı ölçümü kullanacak; bir hata olursa tek bir yerde düzeltilecek. Arduino C'de bunun "float mesafeOlc()" biçiminde, sonucu return ile geri veren bir fonksiyon olduğunu göster.
1. ders
10 dk
Keşif: Ortalama ile gürültüyü bastır
Grafik çizimini aç: gri noktalar ham ölçüm, sarı çizgi son 5 ölçümün ortalaması, yeşil çizgi ortancası. Alt programa 5 kez ölçen ve toplayan döngüyü ekleyin. Önce 0 değerlerini de toplayıp sonucu görün, ardından "ölçüm 0'dan büyükse topla" koşulunu ekleyip farkı karşılaştırın.
1. ders
10 dk
Etkinlik: Ham mı, filtreli mi?
Gruplar seri monitöre hem ham ölçümü hem filtreli mesafeyi yan yana yazdırır. Benzetimde hedefi 30 cm'de tutup 10 satır not ederler; sonra hedefi hızla 30 cm'den 10 cm'ye çekip filtreli değerin yeni mesafeye kaç satırda ulaştığını sayarlar. "Ölçüm sayısını 5'ten 20'ye çıkarırsak ne olur?" sorusunu yanıtlarlar.
1. ders
5 dk
Değerlendirme: Kod kontrol listesi
Gruplar kodlarını 4 maddelik listeyle öz değerlendirir: alt programın anlamlı bir adı var mı, ana program sade mi, 0 ölçümleri dışarıda mı, seri monitör çıktısı okunaklı mı. Ardından bir başka grubun seri monitör görüntüsüne bakıp "bu sayılara güvenir miydin?" sorusuna gerekçeli akran yanıtı verirler.
2. ders
10 dk
Tekrar: Sunum
9 slaytlık ders sunumu akıllı tahtada açılır; önceki saatte öğrenilen kavramlar öğrencilerle birlikte tekrar edilir.
2. ders
20 dk
Uygulama: Etkinlikler
Akıllı tahtada etkileşimli etkinlikler oynanır: Seri monitör: numarayı eşleştir; Blok ↔ Arduino C; Filtreli ölçümün adımları; Doğru mu, yanlış mı?; Kutuyu aç: konu soruları; Test yarışması: Yazılım 1: Ölçüm Alt Programı ve Filtre.
2. ders
10 dk
Değerlendirme
9 soruluk doğru-yanlış testi tahtada birlikte çözülür; yanlış cevaplar gerekçeleriyle tartışılır.
FarklılaştırmaBilgisayarsız sınıf alternatifi: İnsan ölçüm cihazları. Beş öğrenci sırayla tahtadan aynı kutuya olan uzaklığı adımla ya da cetvelle ölçer ve sonucu kâğıda yazar. Öğretmen bir öğrenciye gizlice "0 yaz", bir başkasına "iki katını yaz" kartı verir. Sınıf beş değerin ortalamasını ve ortancasını tahtada hesaplar; ardından 0'ı çıkarıp yeniden hesaplar. Hangi yöntemin hatalı ölçümden daha az etkilendiği tartışılır ve bu fikrin programdaki "mesafe ölç" alt programına nasıl dönüştüğü tahtada gösterilir.
BÖLÜM IV · ÖLÇME VE DEĞERLENDİRME
Ölçme araçlarıKontrol listesi, dereceli puanlama anahtarı, öz ve akran değerlendirme
Doğru-yanlış soruları
  1. Alt program (fonksiyon), birden çok kez kullanılan adımları tek bir adın altında toplar. (D)
  2. Alt programda bir hata düzeltildiğinde, onu çağıran her yerde düzeltme kendiliğinden geçerli olur. (D)
  3. Ultrasonik sensör her ölçümde mutlaka doğru değeri verir. (Y)
  4. 30, 31, 30, 0 ve 31 değerlerinin ortalaması alındığında sonuç yaklaşık 30 cm çıkar. (Y)
  5. Ortanca (medyan), değerler sıralandığında ortada kalan değerdir ve tek bir aşırı değerden az etkilenir. (D)
  6. Ortalama için alınan ölçüm sayısı arttıkça sistem engele daha hızlı tepki verir. (Y)
  7. Arduino C'de Serial.begin(9600) komutu seri haberleşmeyi 9600 baud hızında başlatır. (D)
  8. Serial.print yazdıktan sonra alt satıra geçer, Serial.println aynı satırda devam eder. (Y)
  9. pulseIn(ECHO, HIGH, 30000) komutunda 30000, yankı gelmezse en fazla 30 000 µs beklenmesini sağlayan süre sınırıdır. (D)
Dersin uygulanmasına ilişkin açıklamalarTinkercad benzetiminde sensör çoğunlukla kusursuz değer verir; gürültüyü göstermek için grafik çizimini ve bilgisayarsız etkinliği kullanın. Gerçek bir sensör varsa elinizi hızlıca önünden geçirerek ya da sensörü bir perdeye tutarak 0 ve sıçrama değerlerini canlı gösterebilirsiniz.
…………………………Bilişim Teknolojileri Öğretmeni
UYGUNDUR03.05.2027…………………………Okul Müdürü
Bu dersi sınıfta işleyinSunum, tahta modu ve etkileşimli etkinlikler için.
Etkileşimli sürümü aç →