Yazılım 1: Ölçüm Alt Programı ve Filtre
Robotik Kodlama 2 · 30. hafta ders notu · 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.
İ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
- 1Seri Monitör düğmesiArduino’nun Serial.println ile yazdıklarını açar.Dokun, adını gör
- 2Ölçüm satırlarıHer satır bir ölçümdür; değerleri gözle izleriz.Dokun, adını gör
- 3Hatalı 0.0Yankı yakalanamadığında süre 0 gelir; mesafe 0 görünür.Dokun, adını gör
- 4Gönder kutusuArduino’ya klavyeden veri göndermek için kullanılır.Dokun, adını gör
- 5Grafik görünümüAynı sayıları çizgi grafik olarak gösterir; sıçramalar hemen fark edilir.Dokun, adını gör
- 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?
?Ekranda neden ara sıra 0 görünür?
02Alt program: mesafe ölç
?Alt program kullanmanın üç faydası nedir?
?Arduino C'de fonksiyonun başındaki "float" ne demektir?
03Ortalama ile gürültüyü azaltmak
?Ölçümler arasında neden 60 ms bekliyoruz?
?5 ölçümün hepsi 0 gelirse ne olur?
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.
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?
?Serial.print ile Serial.println neden birlikte kullanıldı?
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.
5dkIsı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.
10dkKeş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.
10dkKeş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.
10dkEtkinlik: 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.
5dkDeğ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öster
Doğ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öster
Doğru3. Ultrasonik sensör her ölçümde mutlaka doğru değeri verir.
Cevabı göster
Yanlış · 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öster
Yanlış · 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öster
Doğ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öster
Yanlış · 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öster
Doğru8. Serial.print yazdıktan sonra alt satıra geçer, Serial.println aynı satırda devam eder.
Cevabı göster
Yanlış · 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öster
Doğ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 | |||
|---|---|---|---|
| Ders | Seçmeli Robotik Kodlama 2. Seviye | Sınıf / Düzey | 2. düzey (seçmeli) |
| Hafta / Tarih | 30. Hafta · 3–7 Mayıs (MAYIS) | Süre | 2 ders saati (40' + 40') |
| Tema | ÇARPIŞMA ÖNLEYİCİ | ||
| Konu | Yazı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 |
| ||
| Araç, gereç ve kaynaklar | Akı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üre | Etkinlik 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ırma | 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. |
| 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ı |
|
| Dersin uygulanmasına ilişkin açıklamalar | Tinkercad 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. |