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

LCD’ye Yazı: İmleç, Yaz, Temizle

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

Öğrenme çıktıları
RK.2.3.1
  • LCD’yi başlatan, arka ışığını açan ve ekrana yazı yazan blokları ve bunların Arduino C karşılıklarını kullanır.
  • setCursor ile imleci istenen sütun ve satıra taşıyarak iki satırlı bir mesaj tasarlar.
  • clear komutunun ekranı silip imleci (0, 0)’a götürdüğünü açıklar; gereksiz kullanımın titremeye yol açtığını fark eder.
  • Trafik ışığının dört aşamasının mesajlarını ışıklarla birlikte gösteren programı yazar.
Bilgisayarsız sınıf alternatifi

İmleç oyunu

Tahtadaki 16×2 ızgaranın üzerinde bir öğrenci "imleç" olur ve elinde yapışkan bir not tutar. Sınıf komut kartlarını sırayla okur: "temizle" (tahtadaki harfler silinir, imleç sol üste gider), "yaz DUR" (imleç harfleri bırakarak ilerler), "imleç sütun 0 satır 1". Sonra öğretmen kartların sırasını değiştirir ve sınıf ekranın nasıl farklılaşacağını tahmin eder.

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.

01Dört temel LCD komutu
1) lcd.clear(); Ekran boş, imleç (0, 0)2) lcd.print("DUR"); DURİmleç yazının sonunda (3, 0)3) lcd.setCursor(0, 1); DURİmleç alt satırın başında4) lcd.print("Kalan: 9"); DURKalan:9Yazı imleçten başlar
  1. 1lcd.clear()Ekrandaki her şeyi siler ve imleci sol üst köşeye (0, 0) taşır.Dokun, adını gör
  2. 2lcd.print()Yazıyı imlecin bulunduğu yerden başlatır; imleç yazının sonuna kayar.Dokun, adını gör
  3. 3lcd.setCursor(0, 1)İmleci 0. sütun, 1. satıra (alt satırın başına) taşır; ekrandaki yazıyı silmez.Dokun, adını gör
  4. 4İkinci printAlt satıra yazar; üst satırdaki “DUR” yerinde kalır.Dokun, adını gör
  5. 5İmleçBir sonraki karakterin yazılacağı kutu; ekranda çoğu zaman görünmez.Dokun, adını gör

Numaralara dokun.

?init() ve backlight() neden setup içinde?
Bu işlemler program başında bir kez yapılır. loop içinde tekrar tekrar başlatmak ekranı gereksiz yere sıfırlar.
BlokArduino CNe yapar?
LCD’yi kur
LCD arka ışığını aç
LCD’yi temizle
LCD imlecini … yap
LCD’ye yaz
02İmleç kuralları
?setCursor(7, 1) yazınca imleç nereye gider?
7 numaralı sütuna ve alt satıra (1). Numaralar 0’dan başladığı için 7 numaralı sütun soldan sekizinci kutudur.
?Bir satıra yazdıktan sonra alt satıra geçmek için ne yapılır?
setCursor(0, 1) ile imleç alt satırın başına taşınır. LCD satır sonunda kendiliğinden alt satıra geçmez.
?Yazıyı ortalamak için sütun nasıl hesaplanır?
(16 − harf sayısı) ÷ 2 alınır, küsurat atılır. "GEC" için (16 − 3) ÷ 2 = 6,5 → 6. sütun; "HAZIRLAN" için 4. sütun.
16 sütun × 2 satır = 32 karakter kutusu sütun 0123456789101112131415 satır01 DURKalan:9sn lcd.setCursor(7, 1); Önce sütun, sonra satır yazılır; sayma 0’dan başlar.
03Aşama mesajlarını yazmak
?Her aşamada clear kullanmak doğru mu?
Aşama değişirken evet: önceki mesajın harfleri ekranda kalmasın diye temizleriz. Ama aynı aşama içinde her saniye temizlemek gereksizdir.
void loop() {
  digitalWrite(13, HIGH);   // kırmızı
  lcd.clear();
  lcd.print("DUR");
  lcd.setCursor(0, 1);
  lcd.print("Kalan: 10 sn");
  delay(10000);

  digitalWrite(12, HIGH);   // + sarı
  lcd.clear();
  lcd.print("HAZIRLAN");
  delay(3000);
  // GEC ve DIKKAT aynı kalıpla devam eder
}
Arduino başladığında
LCD’yi kur: tür I2C ▾ adres 0x27 ▾
sürekli tekrarla
dijital pin 13 YÜKSEK ▾ yap
LCD’yi temizle
LCD’ye DUR yaz
LCD imlecini sütun 0 satır 1 yap
LCD’ye Kalan: 10 sn yaz
10 saniye bekle
Bir tur = 10 + 3 + 10 + 3 = 26 saniye DUR · 10 snGEC · 10 sn HAZIRLANDIKKAT3 sn3 sn 010132326 DURKalan:10snHAZIRLANKalan:3snGECKalan:10snDIKKATKalan:3sn
04Titreme ve gereksiz yazma
?Ekran neden titrer?
clear() ekranı tamamen siler; hemen ardından yazı yeniden yazılır. Bu saniyede yüzlerce kez olursa göz, yazının sönüp yandığını titreme olarak görür.
?Titremeyi nasıl önleriz?
Ekranı yalnızca içerik değişince temizleriz; değişmeyen satırı yeniden yazmayız. Sadece değişen kutuların üzerine yazmak en temiz yoldur.
Biliyor muydun?

Kural: "Değişmeyen yazıya dokunma, değişen kutunun üzerine yaz."

Anahtar kavramlar: İmleçclearsetCursorprint

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: İmleç nerede?

Tahtadaki ızgaraya yapışkan bir "imleç" koy ve sınıfa "Şimdi H harfi yazarsam nereye gelir, sonra imleç nereye kayar?" diye sor. Birkaç harf yazdırarak imlecin her harften sonra bir sağa kaydığını, satır sonunda kendiliğinden alt satıra geçmediğini göster.

16 sütun × 2 satır = 32 karakter kutusu sütun 0123456789101112131415 satır01 DURKalan:9sn lcd.setCursor(7, 1); Önce sütun, sonra satır yazılır; sayma 0’dan başlar.
10dk

Keşif: Dört temel komut

İmleç adımları çizimini sırayla aç: clear ekranı siler ve imleci (0, 0)’a götürür, print imleçten yazar, setCursor imleci taşır ama yazı silmez. Her adımı Tinkercad’de bloklarla dene; yanında Arduino C satırını göster. "Önce sütun, sonra satır" kuralını öğrencilerle birlikte tekrarla.

1) lcd.clear(); Ekran boş, imleç (0, 0)2) lcd.print("DUR"); DURİmleç yazının sonunda (3, 0)3) lcd.setCursor(0, 1); DURİmleç alt satırın başında4) lcd.print("Kalan: 9"); DURKalan:9Yazı imleçten başlar
15dk

Etkinlik: Aşama mesajları

Gruplar trafik ışığı programına LCD satırlarını ekler: her aşamada önce ekranı temizler, üst satıra aşama adını, alt satıra "Kalan: 10 sn" gibi sabit bir yazı yazar. Simülasyonda ışıkla mesajın aynı anda değiştiğini kontrol ederler. Hızlı bitiren gruplar mesajı ortalamayı dener ("GEC" için imleci 6. sütuna taşıyarak).

Arduino başladığında
LCD’yi kur: tür I2C ▾ adres 0x27 ▾
sürekli tekrarla
dijital pin 13 YÜKSEK ▾ yap
LCD’yi temizle
LCD’ye DUR yaz
LCD imlecini sütun 0 satır 1 yap
LCD’ye Kalan: 10 sn yaz
10 saniye bekle
dijital pin 12 YÜKSEK ▾ yap
LCD’yi temizle
LCD’ye HAZIRLAN yaz
3 saniye bekle
5dk

Keşif: clear neden titretir?

clear komutunu sürekli tekrarla döngüsünün içinde beklemesiz kullanan bir örneği çalıştır; ekranın titrediğini göster. Ekranı yalnızca aşama değişince temizlemenin ve değişmeyen yazıyı yeniden yazmamanın daha iyi olduğunu tartışın.

5dk

Değerlendirme: Kod–ekran eşleştirme ve kontrol listesi

Tahtaya üç kısa kod parçası ve üç ekran görüntüsü koy; öğrenciler hangi kodun hangi ekranı ürettiğini eşleştirir. Ardından her grup programını 4 maddelik kontrol listesiyle kendisi işaretler: LCD kuruldu, aşama başında temizlendi, mesajlar doğru satırda, Türkçe karakter yok.

Doğru mu, yanlış mı?

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

1. lcd.clear() ekrandaki tüm yazıyı siler ve imleci (0, 0) konumuna götürür.

Cevabı gösterDoğru

2. lcd.setCursor(0, 1) ekrandaki yazıyı silip imleci alt satıra taşır.

Cevabı gösterYanlış · setCursor yalnızca imleci taşır; ekranda yazılı olan hiçbir şeyi silmez.

3. lcd.print("DUR") yazısı imlecin bulunduğu yerden başlar.

Cevabı gösterDoğru

4. Bir yazı yazıldıktan sonra imleç yazının bittiği yerin hemen sağına geçer.

Cevabı gösterDoğru

5. Üst satıra 16 karakterden uzun bir yazı yazarsak fazlası kendiliğinden alt satıra geçer.

Cevabı gösterYanlış · Taşan karakterler alt satıra geçmez; ekranda görünmeyen bir bellek alanına yazılır. Alt satıra yazmak için setCursor kullanılır.

6. Sürekli tekrarla içinde beklemeden clear kullanmak ekranın titremesine yol açabilir.

Cevabı gösterDoğru · Ekran saniyede yüzlerce kez silinip yazıldığı için göz bunu titreme olarak görür.

7. lcd.backlight() komutu ekrana yazı yazar.

Cevabı gösterYanlış · backlight() yalnızca arka ışığı açar; yazı için print() kullanılır.

8. "GEC" yazısını ortalamak için imleci 6. sütuna taşımak yeterlidir.

Cevabı gösterDoğru · (16 − 3) ÷ 2 = 6,5; küsurat atılınca 6. sütun. Solda 6, sağda 7 boş kutu kalır.

9. LCD’ye yazılan yazı, yeni bir komut gelmedikçe ekranda kalır.

Cevabı gösterDoğru

21. hafta günlük planı

2026–2027 2. düzey Seçmeli Robotik Kodlama 2 dersi 21. 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 · 21. 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 / Tarih21. Hafta · 22–26 Şubat (ŞUBAT)Süre2 ders saati (40' + 40')
TemaTRAFİK IŞIĞI UYGULAMASI
KonuLCD’ye Yazı: İmleç, Yaz, Temizle
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
  • LCD’yi başlatan, arka ışığını açan ve ekrana yazı yazan blokları ve bunların Arduino C karşılıklarını kullanır.
  • setCursor ile imleci istenen sütun ve satıra taşıyarak iki satırlı bir mesaj tasarlar.
  • clear komutunun ekranı silip imleci (0, 0)’a götürdüğünü açıklar; gereksiz kullanımın titremeye yol açtığını fark eder.
  • Trafik ışığının dört aşamasının mesajlarını ışıklarla birlikte gösteren programı yazar.
Araç, gereç ve kaynaklarAkıllı tahta ve Tinkercad (geçen haftaların LCD’li devresi) · Kareli kâğıt LCD ızgarası ve yapışkan bir "imleç" işareti · Tasarım kâğıdındaki zaman çizelgesi · Kod–ekran eşleştirme kartları · 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: İmleç nerede?
Tahtadaki ızgaraya yapışkan bir "imleç" koy ve sınıfa "Şimdi H harfi yazarsam nereye gelir, sonra imleç nereye kayar?" diye sor. Birkaç harf yazdırarak imlecin her harften sonra bir sağa kaydığını, satır sonunda kendiliğinden alt satıra geçmediğini göster.
1. ders
10 dk
Keşif: Dört temel komut
İmleç adımları çizimini sırayla aç: clear ekranı siler ve imleci (0, 0)’a götürür, print imleçten yazar, setCursor imleci taşır ama yazı silmez. Her adımı Tinkercad’de bloklarla dene; yanında Arduino C satırını göster. "Önce sütun, sonra satır" kuralını öğrencilerle birlikte tekrarla.
1. ders
15 dk
Etkinlik: Aşama mesajları
Gruplar trafik ışığı programına LCD satırlarını ekler: her aşamada önce ekranı temizler, üst satıra aşama adını, alt satıra "Kalan: 10 sn" gibi sabit bir yazı yazar. Simülasyonda ışıkla mesajın aynı anda değiştiğini kontrol ederler. Hızlı bitiren gruplar mesajı ortalamayı dener ("GEC" için imleci 6. sütuna taşıyarak).
1. ders
5 dk
Keşif: clear neden titretir?
clear komutunu sürekli tekrarla döngüsünün içinde beklemesiz kullanan bir örneği çalıştır; ekranın titrediğini göster. Ekranı yalnızca aşama değişince temizlemenin ve değişmeyen yazıyı yeniden yazmamanın daha iyi olduğunu tartışın.
1. ders
5 dk
Değerlendirme: Kod–ekran eşleştirme ve kontrol listesi
Tahtaya üç kısa kod parçası ve üç ekran görüntüsü koy; öğrenciler hangi kodun hangi ekranı ürettiğini eşleştirir. Ardından her grup programını 4 maddelik kontrol listesiyle kendisi işaretler: LCD kuruldu, aşama başında temizlendi, mesajlar doğru satırda, Türkçe karakter yok.
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: Komut ne yapar?; DIKKAT aşamasını yaz; Konumu söyle!; Doğru mu, yanlış mı?; Kutuyu aç: konu soruları; Test yarışması: LCD’ye Yazı: İmleç, Yaz, Temizle.
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: İmleç oyunu. Tahtadaki 16×2 ızgaranın üzerinde bir öğrenci "imleç" olur ve elinde yapışkan bir not tutar. Sınıf komut kartlarını sırayla okur: "temizle" (tahtadaki harfler silinir, imleç sol üste gider), "yaz DUR" (imleç harfleri bırakarak ilerler), "imleç sütun 0 satır 1". Sonra öğretmen kartların sırasını değiştirir ve sınıf ekranın nasıl farklılaşacağını tahmin eder.
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. lcd.clear() ekrandaki tüm yazıyı siler ve imleci (0, 0) konumuna götürür. (D)
  2. lcd.setCursor(0, 1) ekrandaki yazıyı silip imleci alt satıra taşır. (Y)
  3. lcd.print("DUR") yazısı imlecin bulunduğu yerden başlar. (D)
  4. Bir yazı yazıldıktan sonra imleç yazının bittiği yerin hemen sağına geçer. (D)
  5. Üst satıra 16 karakterden uzun bir yazı yazarsak fazlası kendiliğinden alt satıra geçer. (Y)
  6. Sürekli tekrarla içinde beklemeden clear kullanmak ekranın titremesine yol açabilir. (D)
  7. lcd.backlight() komutu ekrana yazı yazar. (Y)
  8. "GEC" yazısını ortalamak için imleci 6. sütuna taşımak yeterlidir. (D)
  9. LCD’ye yazılan yazı, yeni bir komut gelmedikçe ekranda kalır. (D)
Dersin uygulanmasına ilişkin açıklamalarTinkercad’de kod panelini "Bloklar + Metin" görünümüne alırsanız her bloğun C++ karşılığı yanında görünür; iki dili yan yana okutmak için kullanışlıdır.
…………………………Bilişim Teknolojileri Öğretmeni
UYGUNDUR22.02.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ç →