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

Geri Sayım ve Artık Karakter Sorunu

Robotik Kodlama 2 · 22. hafta ders notu · RK.2.3.1

Öğrenme çıktıları
RK.2.3.1
  • Bir değişkeni her saniye 1 azaltarak geri sayım yapan döngüyü bloklarla ve Arduino C ile yazar.
  • Sayının değerini LCD’de doğru sütun ve satırda gösterir.
  • 10’dan 9’a geçerken ekranda kalan artık karakterin nedenini açıklar; boşlukla hizalama yöntemiyle çözer.
  • Kod okuma sırasında arkadaşının programındaki geri sayım hatasını bulur.
Bilgisayarsız sınıf alternatifi

Rakam kartı tiyatrosu

Tahtaya 16 kutuluk bir satır çizilir ve kutulara yapışkan notlarla "Kalan: 10 sn" yazılır. Bir öğrenci "LCD" olur: yalnızca kendisine söylenen kutuların notunu değiştirebilir, diğerlerine dokunamaz. Sınıf "7. kutuya 9 yaz" dediğinde ekranda "90" kalır; ardından sınıf, hangi kutulara boşluk notu konursa görüntünün düzeleceğini bulur.

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.

01Değişkenle geri sayım
?Değişken nedir?
Programın bir değeri aklında tutması için açtığı kutudur. kalan değişkeni önce 10’u tutar, her saniye 1 azalır.
?Neden döngü 10 kez tekrar ediyor?
Aşama 10 saniye sürer ve her turda 1 saniye beklenir: 10 tur × 1 sn = 10 sn.
LCD’ye DUR yaz
kalan ▾ değişkenini 10 yap
10 kez tekrarla
LCD imlecini sütun 0 satır 1 yap
LCD’ye Kalan: yaz
LCD’ye kalan yaz
1 saniye bekle
kalan ▾ değişkenini -1 değiştir
Başla LCD’yi ve pinleri hazırla Işıklar + 1. satıra mesaj kalan ← aşama süresi kalan > 0 ? Evet 2. satıra kalanı yaz 1 saniye beklekalan’ı 1 azalt Hayır Sonraki aşamaya geç Geri sayım döngüsü
02Artık karakter sorunu
İki basamaktan tek basamağa geçiş 10. saniye “Kalan: 10 sn” yazıldı DURKalan:10sn9. saniye Aynı yere “Kalan: 9 sn”Eski “n” silinmedi! DURKalan:9snnÇözüm 9’dan önce bir boşlukSayı hep 2 kutu kaplar DURKalan:9sn
  1. 1Üst satırBu satır değişmediği için yeniden yazılmasına gerek yok.Dokun, adını gör
  2. 2İki basamaklı 10“10” iki kutu kaplar; “sn” bir kutu sağdan başlar.Dokun, adını gör
  3. 3Artık “n”Yeni yazı bir kutu kısa kaldı; LCD eski karakteri kendiliğinden silmez.Dokun, adını gör
  4. 4Sorunun nedeniLCD yalnızca üzerine yazılan kutuları değiştirir; geri kalanlar olduğu gibi durur.Dokun, adını gör
  5. 5Boşluk karakteriSayı 10’dan küçükse önce bir boşluk yazılır; sayı hep aynı genişlikte kalır.Dokun, adını gör

Numaralara dokun.

?"Kalan: 9 snn" görüntüsü neden oluştu?
"Kalan: 10 sn" 12 kutu kaplar, "Kalan: 9 sn" ise 11 kutu. Yeni yazı bir kutu kısa kaldığı için en sondaki eski "n" silinmeden ekranda kaldı.
?Sadece sayıyı yazınca neden "90" görünür?
9, 10’un ilk basamağının (1) yerine yazılır; ikinci basamaktaki 0’a hiç dokunulmaz.
03Üç çözüm

Kartlara dokun.

eğer (kalan) < (10) ise
LCD’ye ␣ yaz
LCD’ye kalan yaz
LCD’ye sn yaz
Biliyor muydun?

Sağa hizalamada sayılar değişirken ekran kıpırdamaz; gerçek geri sayım göstergeleri de böyle çalışır. (␣ = bir boşluk)

04Arduino C karşılığı
?for döngüsünün üç parçası nedir?
int k = sure başlangıç, k > 0 devam koşulu, k-- her turda 1 azaltma. Koşul yanlış olunca (k = 0) döngü biter.
?asama() fonksiyonu ne kazandırır?
Dört aşamanın hepsi aynı adımları izlediği için kodu bir kez yazar, her aşamada yalnızca mesajı ve süreyi değiştirerek çağırırız: asama("DUR", 10).
void asama(const char* mesaj, int sure) {
  lcd.clear();
  lcd.print(mesaj);
  for (int k = sure; k > 0; k--) {
    lcd.setCursor(0, 1);
    lcd.print("Kalan: ");
    if (k < 10) lcd.print(" ");
    lcd.print(k);
    lcd.print(" sn");
    delay(1000);
  }
}
Anahtar kavramlar: DeğişkenDöngüArtık karakterHizalama
Bir tur = 10 + 3 + 10 + 3 = 26 saniye DUR · 10 snGEC · 10 sn HAZIRLANDIKKAT3 sn3 sn 010132326 DURKalan:10snHAZIRLANKalan:3snGECKalan:10snDIKKATKalan:3sn

Ders akışı

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

6dk

Isınma: Rakam kartlarıyla geri sayım

Tahtadaki ızgaranın alt satırına kartlarla "Kalan: 10" yaz. Bir öğrenci 10’u 9 yapmak için yalnızca "1" kartının yerine "9" koyar, "0" kartına dokunmaz. Sınıf ekranda "Kalan: 90" gibi yanlış bir görüntü oluştuğunu görür; bugün bu sorunu çözeceğimizi söyle.

10dk

Keşif: Değişkenle geri sayım

Akış şemasındaki döngüyü hatırlat ve blokları birlikte kur: kalan değişkenini 10 yap, 10 kez tekrarla içinde alt satıra kalanı yaz, 1 saniye bekle, kalanı −1 değiştir. Simülasyonu çalıştır ve 10’dan 9’a geçişte ekrandaki "90" görüntüsünü sınıfla birlikte yakala.

Başla LCD’yi ve pinleri hazırla Işıklar + 1. satıra mesaj kalan ← aşama süresi kalan > 0 ? Evet 2. satıra kalanı yaz 1 saniye beklekalan’ı 1 azalt Hayır Sonraki aşamaya geç Geri sayım döngüsü
Arduino başladığında
LCD’yi kur: tür I2C ▾ adres 0x27 ▾
LCD’ye DUR yaz
kalan ▾ değişkenini 10 yap
10 kez tekrarla
LCD imlecini sütun 0 satır 1 yap
LCD’ye Kalan: yaz
LCD’ye kalan yaz
1 saniye bekle
kalan ▾ değişkenini -1 değiştir
8dk

Keşif: Artık karakter nereden çıkıyor?

Artık karakter çizimini aç ve LCD’nin yalnızca üzerine yazılan kutuları değiştirdiğini, diğer kutulara dokunmadığını açıkla. Üç çözümü karşılaştırın: her saniye clear (titrer), sayıdan sonra boşluk yaz, sayı 10’dan küçükse önce boşluk yaz (sağa hizalar). En temiz görüntüyü veren hizalamayı seçin.

İki basamaktan tek basamağa geçiş 10. saniye “Kalan: 10 sn” yazıldı DURKalan:10sn9. saniye Aynı yere “Kalan: 9 sn”Eski “n” silinmedi! DURKalan:9snnÇözüm 9’dan önce bir boşlukSayı hep 2 kutu kaplar DURKalan:9sn
11dk

Etkinlik: Geri sayımlı trafik ışığı

Gruplar dört aşamanın her birine geri sayım döngüsünü ekler ve "eğer kalan < 10 ise boşluk yaz" bloğuyla hizalamayı yapar. Testte özellikle 10 → 9 geçişini ve bir aşamanın bitip yenisinin başladığı anı izlerler. Bitiren grup Tinkercad’in metin görünümünde aynı kodun C karşılığını bulup tahtada gösterir.

10 kez tekrarla
LCD imlecini sütun 0 satır 1 yap
LCD’ye Kalan: yaz
eğer (kalan) < (10) ise
LCD’ye ␣ yaz
LCD’ye kalan yaz
LCD’ye sn yaz
1 saniye bekle
kalan ▾ değişkenini -1 değiştir
5dk

Değerlendirme: Akran kod okuma

Gruplar programlarını yan gruba gösterir; yan grup formdaki üç soruyu yanıtlar: Sayım 10’dan başlayıp 1’de bitiyor mu? 9’a geçişte artık karakter var mı? Bekleme 1 saniye mi? Bulunan hata koda not olarak eklenir ve düzeltilir.

Doğru mu, yanlış mı?

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

1. Geri sayımda değişkeni her turda −1 değiştirmek onu 1 azaltır.

Cevabı gösterDoğru

2. LCD yeni bir sayı yazılınca o satırdaki eski karakterlerin hepsini kendiliğinden siler.

Cevabı gösterYanlış · LCD yalnızca üzerine yazılan kutuları değiştirir. Eski yazının fazla kalan karakterleri ekranda durur; buna artık karakter denir.

3. 10’dan 9’a geçerken sadece sayıyı aynı yere yazarsak ekranda "90" görünebilir.

Cevabı gösterDoğru · 9, 1’in yerine yazılır; 0 olduğu gibi kalır.

4. Artık karakter sorununu çözmenin tek yolu her saniye lcd.clear() kullanmaktır.

Cevabı gösterYanlış · clear da çözer ama ekran titreyebilir ve üst satır da silinir. Sayıdan önce ya da sonra boşluk yazmak daha temiz çözümlerdir.

5. "Eğer kalan < 10 ise boşluk yaz" bloğu sayıyı sağa hizalar.

Cevabı gösterDoğru · Tek basamaklı sayılar da iki kutu kaplar; birler basamağı hep aynı sütunda kalır.

6. 10 kez tekrarla döngüsünde kalan 10’dan başlayıp her turda 1 azalırsa ekranda son görünen sayı 1 olur.

Cevabı gösterDoğru

7. Geri sayım döngüsündeki "1 saniye bekle" bloğu silinirse geri sayım yine 10 saniyede biter.

Cevabı gösterYanlış · Bekleme olmazsa döngü göz açıp kapayıncaya kadar biter; ekranda yalnızca son sayı görünür.

8. Arduino C’de delay(1000) bir saniye bekler.

Cevabı gösterDoğru · delay milisaniye cinsindendir: 1000 ms = 1 sn.

9. for (int k = 10; k > 0; k--) döngüsü 10’dan 1’e kadar sayar.

Cevabı gösterDoğru

22. hafta günlük planı

2026–2027 2. düzey Seçmeli Robotik Kodlama 2 dersi 22. 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 · 22. 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 / Tarih22. Hafta · 1–5 Mart (MART)Süre2 ders saati (40' + 40')
TemaTRAFİK IŞIĞI UYGULAMASI
KonuGeri Sayım ve Artık Karakter Sorunu
BÖLÜM II · ÖĞRENME ÇIKTILARI VE KAYNAKLAR
Öğrenme çıktısıRK.2.3.1 Yazılım yerleştirme, benzetim devresi, test ve hata giderme
Süreç bileşenleri
  • Bir değişkeni her saniye 1 azaltarak geri sayım yapan döngüyü bloklarla ve Arduino C ile yazar.
  • Sayının değerini LCD’de doğru sütun ve satırda gösterir.
  • 10’dan 9’a geçerken ekranda kalan artık karakterin nedenini açıklar; boşlukla hizalama yöntemiyle çözer.
  • Kod okuma sırasında arkadaşının programındaki geri sayım hatasını bulur.
Araç, gereç ve kaynaklarAkıllı tahta ve Tinkercad · Rakam kartları (0–9) ve boş "boşluk" kartları · Kareli kâğıt LCD ızgarası · Akran kod okuma formu (3 soru) · Bilişim Ders Notları ders sayfası, sunum ve etkinlikler (bilisimdersnotlari.com)
BÖLÜM III · ÖĞRENME-ÖĞRETME UYGULAMALARI
SüreEtkinlik akışı
1. ders
6 dk
Isınma: Rakam kartlarıyla geri sayım
Tahtadaki ızgaranın alt satırına kartlarla "Kalan: 10" yaz. Bir öğrenci 10’u 9 yapmak için yalnızca "1" kartının yerine "9" koyar, "0" kartına dokunmaz. Sınıf ekranda "Kalan: 90" gibi yanlış bir görüntü oluştuğunu görür; bugün bu sorunu çözeceğimizi söyle.
1. ders
10 dk
Keşif: Değişkenle geri sayım
Akış şemasındaki döngüyü hatırlat ve blokları birlikte kur: kalan değişkenini 10 yap, 10 kez tekrarla içinde alt satıra kalanı yaz, 1 saniye bekle, kalanı −1 değiştir. Simülasyonu çalıştır ve 10’dan 9’a geçişte ekrandaki "90" görüntüsünü sınıfla birlikte yakala.
1. ders
8 dk
Keşif: Artık karakter nereden çıkıyor?
Artık karakter çizimini aç ve LCD’nin yalnızca üzerine yazılan kutuları değiştirdiğini, diğer kutulara dokunmadığını açıkla. Üç çözümü karşılaştırın: her saniye clear (titrer), sayıdan sonra boşluk yaz, sayı 10’dan küçükse önce boşluk yaz (sağa hizalar). En temiz görüntüyü veren hizalamayı seçin.
1. ders
11 dk
Etkinlik: Geri sayımlı trafik ışığı
Gruplar dört aşamanın her birine geri sayım döngüsünü ekler ve "eğer kalan < 10 ise boşluk yaz" bloğuyla hizalamayı yapar. Testte özellikle 10 → 9 geçişini ve bir aşamanın bitip yenisinin başladığı anı izlerler. Bitiren grup Tinkercad’in metin görünümünde aynı kodun C karşılığını bulup tahtada gösterir.
1. ders
5 dk
Değerlendirme: Akran kod okuma
Gruplar programlarını yan gruba gösterir; yan grup formdaki üç soruyu yanıtlar: Sayım 10’dan başlayıp 1’de bitiyor mu? 9’a geçişte artık karakter var mı? Bekleme 1 saniye mi? Bulunan hata koda not olarak eklenir ve düzeltilir.
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: Geri sayım döngüsünün içi; Ekrandaki görüntü → neden; Temiz mi, hatalı mı?; Doğru mu, yanlış mı?; Kutuyu aç: konu soruları; Eşleşen kartlar: Geri Sayım ve Artık Karakter Sorunu.
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: Rakam kartı tiyatrosu. Tahtaya 16 kutuluk bir satır çizilir ve kutulara yapışkan notlarla "Kalan: 10 sn" yazılır. Bir öğrenci "LCD" olur: yalnızca kendisine söylenen kutuların notunu değiştirebilir, diğerlerine dokunamaz. Sınıf "7. kutuya 9 yaz" dediğinde ekranda "90" kalır; ardından sınıf, hangi kutulara boşluk notu konursa görüntünün düzeleceğini bulur.
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. Geri sayımda değişkeni her turda −1 değiştirmek onu 1 azaltır. (D)
  2. LCD yeni bir sayı yazılınca o satırdaki eski karakterlerin hepsini kendiliğinden siler. (Y)
  3. 10’dan 9’a geçerken sadece sayıyı aynı yere yazarsak ekranda "90" görünebilir. (D)
  4. Artık karakter sorununu çözmenin tek yolu her saniye lcd.clear() kullanmaktır. (Y)
  5. "Eğer kalan < 10 ise boşluk yaz" bloğu sayıyı sağa hizalar. (D)
  6. 10 kez tekrarla döngüsünde kalan 10’dan başlayıp her turda 1 azalırsa ekranda son görünen sayı 1 olur. (D)
  7. Geri sayım döngüsündeki "1 saniye bekle" bloğu silinirse geri sayım yine 10 saniyede biter. (Y)
  8. Arduino C’de delay(1000) bir saniye bekler. (D)
  9. for (int k = 10; k > 0; k--) döngüsü 10’dan 1’e kadar sayar. (D)
Dersin uygulanmasına ilişkin açıklamalarArtık karakter hatasını öğrencilere önceden söylemeyin; simülasyonda kendileri yakalasın. Bulunan her hatayı "iyi yakaladın" diyerek kutlamak hata ayıklamayı olumlu bir deneyime çevirir.
…………………………Bilişim Teknolojileri Öğretmeni
UYGUNDUR01.03.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ç →