Bilişim Ders Notları
Robotik 2 · 8. hafta · Sensörlü Uygulamalar (Çizgi Takip, Aydınlatma, Havalandırma)

Çizgi İzleyen Robot: Yazılım

Robotik Kodlama 2 · 8. hafta ders notu · RK.2.2.1

Öğrenme çıktıları
RK.2.2.1
  • İki sensörden gelen dört olası durumu karar tablosunda gösterir ve her durumda robotun ne yapacağını belirler.
  • Karar tablosunu akış şemasına dönüştürür.
  • Akış şemasını iç içe "eğer–değilse" bloklarıyla programlar ve Tinkercad'deki Arduino C karşılığını açıklar.
  • Programı "kâğıt üzerinde çalıştırma" yöntemiyle test eder; akranının programını karar tablosuna göre kontrol eder.
Bilgisayarsız sınıf alternatifi

Bant pist ve durum kartları

Yere bantla kıvrımlı bir pist yapılır. Üç öğrenciden oluşan "robot ekipleri" sırayla pisti dolaşır: ortadaki öğrenci tekerlek, iki yandaki öğrenci sensördür. Sensörler 0/1 kartlarını kaldırır; tekerlek öğrenci tahtadaki karar tablosuna bakarak hareket eder. Sınıfın geri kalanı ekibin karar tablosuna uyup uymadığını izler ve her hatada tabloyu gösterir. Ardından gruplar akış şemasını kâğıda çizer, her baklavayı bir renk kalemle "eğer" bloğu olarak yeniden yazar.

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 durum, dört karar
?Robot hangi durumda ne yapar?
Sol 0 · Sağ 0: çizgi ortada, ileri. Sol 1 · Sağ 0: çizgi sola kaydı, sola dön. Sol 0 · Sağ 1: çizgi sağa kaydı, sağa dön. Sol 1 · Sağ 1: iki sensör de siyahta, dur.
?Robot motorları kullanarak nasıl döner?
Tekerlekli robotların direksiyonu yoktur. Bir taraftaki motor yavaşlar ya da durur, öbür taraftaki döner; robot yavaş taraf yönüne doğru kıvrılır. Buna "fark sürüşü" (diferansiyel sürüş) denir.
?Dönerken motoru tamamen durdurmak yerine yavaşlatmak olur mu?
Olur ve genellikle daha yumuşak bir hareket sağlar. Örneğin sola dönerken sol motor 60, sağ motor 150 yapılabilir. Hangi değerin uygun olduğu pistte test edilerek bulunur.
Anahtar kavramlar: Karar tablosuFark sürüşü
Sol 0 · Sağ 0İleri gitHız (PWM)sol 150 · sağ 150 Sol 1 · Sağ 0Sola dönHız (PWM)sol 0 · sağ 150 Sol 0 · Sağ 1Sağa dönHız (PWM)sol 150 · sağ 0 Sol 1 · Sağ 1DurHız (PWM)sol 0 · sağ 0
02Karar tablosu

Soru işaretli kutulara dokun.

?Karar tablosu neden programdan önce yazılır?
Tablo, programın yapması gereken her şeyi tek bakışta gösterir. Programı yazdıktan sonra her satırı tabloyla karşılaştırarak eksik ya da yanlış durum olup olmadığını kontrol ederiz.
Sol (pin 2)Sağ (pin 3)KararSol motor (pin 5)Sağ motor (pin 6)
0
1
0
1
03Akış şeması
?Akış şeması neden döngüyle başa döner?
Robot hareket ettikçe çizginin konumu değişir. Sensörler saniyede yüzlerce kez yeniden okunmalı ve her seferinde yeni karar verilmelidir; bu yüzden program sürekli tekrarlanır.
?"Dur" kutusundan sonra robot neden yine başa dönüyor?
Robot durur ama programı bitmez. Robot elle çizginin üzerine geri konulursa sensörler yeniden beyaz görür ve robot kendiliğinden tekrar yola çıkar.
Başla Sol ve sağ sensörü oku sol = 0 ve sağ = 0 ?sol = 1 ve sağ = 0 ?sol = 0 ve sağ = 1 ? Evetİleri gitEvetSola dönEvetSağa dön HayırHayırHayır Dur
04Bloklarla program
?Dıştaki "eğer" neyi, içteki "eğer" neyi kontrol eder?
Dıştaki blok sol sensörü (pin 2), içteki bloklar sağ sensörü (pin 3) kontrol eder. Böylece dört kol oluşur ve her kol karar tablosunun bir satırına karşılık gelir.
?Bu program daha kısa yazılabilir mi?
Evet. Tabloya dikkatle bakınca sol motorun yalnızca sol sensöre, sağ motorun yalnızca sağ sensöre bağlı olduğu görülür: sol sensör siyahsa sol motor durur, değilse döner; sağ için de aynısı. İç içe yerine art arda iki "eğer–değilse" yeterlidir. Ama hızlar durumdan duruma değişecekse (10. hafta) iç içe yapı gerekir.
?Motorların yönü bu programda nerede ayarlanır?
Programın başında, döngüden önce bir kez: IN1 ve IN3 YÜKSEK, IN2 ve IN4 DÜŞÜK yapılır. İki motor da hep ileri döner; döngü yalnızca ENA ve ENB ile hızlarını değiştirir.
Arduino başladığında
sürekli tekrarla
eğer dijital pin (2) okuma = (0) ise
eğer dijital pin (3) okuma = (0) ise
analog pin 5 değerini 150 yap
analog pin 6 değerini 150 yap
değilse
analog pin 5 değerini 150 yap
analog pin 6 değerini 0 yap
değilse
eğer dijital pin (3) okuma = (0) ise
analog pin 5 değerini 0 yap
analog pin 6 değerini 150 yap
değilse
analog pin 5 değerini 0 yap
analog pin 6 değerini 0 yap
05Arduino C karşılığı
?&& işareti ne anlama gelir?
"ve" demektir: iki koşulun ikisi de doğruysa sonuç doğrudur. sol == 0 && sag == 0 ifadesi "sol beyaz VE sağ beyaz" anlamına gelir.
?Bu kod neden bloklardan farklı görünüyor ama aynı işi yapıyor?
Bloklar iç içe iki "eğer" kullanır, C kodu ise "ve" ile birleştirilmiş koşulları sırayla dener. İki yapı da karar tablosundaki dört satırı ayırır; hangisi daha okunaklı geliyorsa o seçilebilir.
void setup() {
  pinMode(2, INPUT);  pinMode(3, INPUT);
  pinMode(7, OUTPUT); pinMode(8, OUTPUT);
  pinMode(9, OUTPUT); pinMode(10, OUTPUT);
  digitalWrite(7, HIGH); digitalWrite(8, LOW);   // sol ileri
  digitalWrite(9, HIGH); digitalWrite(10, LOW);  // sağ ileri
}

void loop() {
  int sol = digitalRead(2);
  int sag = digitalRead(3);
  if (sol == 0 && sag == 0) { analogWrite(5, 150); analogWrite(6, 150); }
  else if (sol == 1 && sag == 0) { analogWrite(5, 0); analogWrite(6, 150); }
  else if (sol == 0 && sag == 1) { analogWrite(5, 150); analogWrite(6, 0); }
  else { analogWrite(5, 0); analogWrite(6, 0); }
}
Biliyor muydun?

Kâğıt üzerinde çalıştırma: Durum kartını çek (ör. Sol 1 · Sağ 0), programda yukarıdan aşağı ilerle, çalışan satırları işaretle, motorlara giden değerleri yaz ve karar tablosuyla karşılaştır.

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: İnsan robot

Yere bantla kısa, kıvrımlı bir çizgi yap. Bir öğrenci gözlerini kapatıp "robot" olur; iki öğrenci "sol sensör" ve "sağ sensör" olarak yanında yürür ve çizgiye basınca "1" der. Robot yalnızca bu sayılara göre "ileri, sola, sağa, dur" komutlarını uygular. Sınıf, her durumda hangi komutun doğru olduğunu tartışır.

10dk

Keşif: Karar tablosu

Çizimdeki dört durumu tek tek göster: iki sensör de beyaz → ileri; sol siyah → sola dön; sağ siyah → sağa dön; ikisi de siyah → dur (bitiş şeridi). Neden "sola dön" için sol motorun durdurulup sağ motorun döndürüldüğünü el hareketleriyle açıkla. Tabloyu tahtaya yaz; öğrenciler boş bırakılan hız sütunlarını doldursun.

Sol 0 · Sağ 0İleri gitHız (PWM)sol 150 · sağ 150 Sol 1 · Sağ 0Sola dönHız (PWM)sol 0 · sağ 150 Sol 0 · Sağ 1Sağa dönHız (PWM)sol 150 · sağ 0 Sol 1 · Sağ 1DurHız (PWM)sol 0 · sağ 0
16dk

Etkinlik: Akış şeması → bloklar → C

Akış şemasını göster ve her baklavanın bir "eğer" bloğuna dönüştüğünü vurgula. Tinkercad kod panelinde blokları birlikte kurun; iki sensör olduğu için iç içe iki "eğer–değilse" kullanılır. "Bloklar + Metin" görünümünde if–else satırlarını bloklarla eşleştirin. Gruplar kâğıt üzerinde dört durumu programın içinden geçirerek (izleme tablosu) her birinde hangi satırların çalıştığını işaretler.

Başla Sol ve sağ sensörü oku sol = 0 ve sağ = 0 ?sol = 1 ve sağ = 0 ?sol = 0 ve sağ = 1 ? Evetİleri gitEvetSola dönEvetSağa dön HayırHayırHayır Dur
Arduino başladığında
sürekli tekrarla
eğer dijital pin (2) okuma = (0) ise
eğer dijital pin (3) okuma = (0) ise
analog pin 5 değerini 150 yap
analog pin 6 değerini 150 yap
değilse
analog pin 5 değerini 150 yap
analog pin 6 değerini 0 yap
değilse
eğer dijital pin (3) okuma = (0) ise
analog pin 5 değerini 0 yap
analog pin 6 değerini 150 yap
değilse
analog pin 5 değerini 0 yap
analog pin 6 değerini 0 yap
8dk

Değerlendirme: Akran kod incelemesi

Gruplar programlarını (blok çıktısı ya da kâğıt) yan grupla değiştirir. Akran grup dört durum kartını sırayla çeker ve programın o durumda doğru motorları çalıştırıp çalıştırmadığını kontrol eder. Kontrol listesi: dört durum da var mı, pin numaraları plana uygun mu, hız değerleri doğru tarafa mı yazılmış? Her grup kendi programına 1–3 arası puan verir.

Doğru mu, yanlış mı?

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

1. İki sensörlü çizgi izleyen robotta dört farklı sensör durumu vardır.

Cevabı gösterDoğru · Her sensör 0 ya da 1 olabilir: 2 × 2 = 4 durum.

2. Sol sensör siyahı görürse robot sağa dönmelidir.

Cevabı gösterYanlış · Sol sensör siyahı görüyorsa çizgi sola kaymıştır; robotun çizgiyi yeniden ortalaması için sola dönmesi gerekir.

3. Robotu sola döndürmek için sol motor durdurulur ya da yavaşlatılır, sağ motor döndürülür.

Cevabı gösterDoğru

4. İki sensör de siyahı görüyorsa robot bir kesişme ya da bitiş şeridine gelmiştir.

Cevabı gösterDoğru

5. Akış şemasındaki her baklava (karar) programda bir "eğer" bloğuna karşılık gelir.

Cevabı gösterDoğru

6. İki sensörü kontrol etmek için iç içe "eğer" yerine tek bir "eğer" yeterlidir.

Cevabı gösterYanlış · Tek bir "eğer" yalnızca iki sonucu ayırır. Dört durumu ayırmak için ya iç içe iki "eğer–değilse" ya da "ve" ile birleştirilmiş koşullar gerekir.

7. analogWrite(5, 0) komutu sol motoru durdurur.

Cevabı gösterDoğru · ENA (pin 5) sol motorun hızını belirler; 0 değeri motora enerji vermez.

8. C kodunda koşulun içinde tek eşittir (=) kullanılarak iki değer karşılaştırılır.

Cevabı gösterYanlış · Karşılaştırma için çift eşittir (==) kullanılır. Tek eşittir değişkene değer atar ve koşulu yanlış çalıştırır.

9. Programı karta yüklemeden önce kâğıt üzerinde her durumu izlemek hataları erken bulmayı sağlar.

Cevabı gösterDoğru

10. Hız değeri 255 yapılırsa robot çizgiyi daha iyi izler.

Cevabı gösterYanlış · Çok hızlı robot sensör çizgiyi gördüğünde dönmeye vakit bulamadan çizgiden çıkar. Başlangıç için 120–160 arası hızlar uygundur; ayar 10. haftada yapılır.

8. hafta günlük planı

2026–2027 2. düzey Seçmeli Robotik Kodlama 2 dersi 8. 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 · 8. 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 / Tarih8. Hafta · 2–6 Kasım (KASIM)Süre2 ders saati (40' + 40')
TemaÇİZGİ TAKİP UYGULAMASI
KonuÇizgi İzleyen Robot: Yazılım
BÖLÜM II · ÖĞRENME ÇIKTILARI VE KAYNAKLAR
Öğrenme çıktısıRK.2.2.1 Proje tasarımı, bileşenlerin belirlenmesi ve yazılımın yapılandırılması
Süreç bileşenleri
  • İki sensörden gelen dört olası durumu karar tablosunda gösterir ve her durumda robotun ne yapacağını belirler.
  • Karar tablosunu akış şemasına dönüştürür.
  • Akış şemasını iç içe "eğer–değilse" bloklarıyla programlar ve Tinkercad'deki Arduino C karşılığını açıklar.
  • Programı "kâğıt üzerinde çalıştırma" yöntemiyle test eder; akranının programını karar tablosuna göre kontrol eder.
Araç, gereç ve kaynaklarAkıllı tahta ve Tinkercad Devreler (kod paneli) · Karar tablosu ve akış şeması çalışma kâğıdı · Yere yapıştırılacak siyah bant (2–3 m) ve "0 / 1" kartları · Durum kartları: "Sol 0 · Sağ 1" gibi dört kart · 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: İnsan robot
Yere bantla kısa, kıvrımlı bir çizgi yap. Bir öğrenci gözlerini kapatıp "robot" olur; iki öğrenci "sol sensör" ve "sağ sensör" olarak yanında yürür ve çizgiye basınca "1" der. Robot yalnızca bu sayılara göre "ileri, sola, sağa, dur" komutlarını uygular. Sınıf, her durumda hangi komutun doğru olduğunu tartışır.
1. ders
10 dk
Keşif: Karar tablosu
Çizimdeki dört durumu tek tek göster: iki sensör de beyaz → ileri; sol siyah → sola dön; sağ siyah → sağa dön; ikisi de siyah → dur (bitiş şeridi). Neden "sola dön" için sol motorun durdurulup sağ motorun döndürüldüğünü el hareketleriyle açıkla. Tabloyu tahtaya yaz; öğrenciler boş bırakılan hız sütunlarını doldursun.
1. ders
16 dk
Etkinlik: Akış şeması → bloklar → C
Akış şemasını göster ve her baklavanın bir "eğer" bloğuna dönüştüğünü vurgula. Tinkercad kod panelinde blokları birlikte kurun; iki sensör olduğu için iç içe iki "eğer–değilse" kullanılır. "Bloklar + Metin" görünümünde if–else satırlarını bloklarla eşleştirin. Gruplar kâğıt üzerinde dört durumu programın içinden geçirerek (izleme tablosu) her birinde hangi satırların çalıştığını işaretler.
1. ders
8 dk
Değerlendirme: Akran kod incelemesi
Gruplar programlarını (blok çıktısı ya da kâğıt) yan grupla değiştirir. Akran grup dört durum kartını sırayla çeker ve programın o durumda doğru motorları çalıştırıp çalıştırmadığını kontrol eder. Kontrol listesi: dört durum da var mı, pin numaraları plana uygun mu, hız değerleri doğru tarafa mı yazılmış? Her grup kendi programına 1–3 arası puan verir.
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: Sensör durumu → karar; Karar → motor hızları; Yazılım geliştirme sırası; Doğru mu, yanlış mı?; Kutuyu aç: konu soruları; Test yarışması: Çizgi İzleyen Robot: Yazılım.
2. ders
10 dk
Değerlendirme
10 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: Bant pist ve durum kartları. Yere bantla kıvrımlı bir pist yapılır. Üç öğrenciden oluşan "robot ekipleri" sırayla pisti dolaşır: ortadaki öğrenci tekerlek, iki yandaki öğrenci sensördür. Sensörler 0/1 kartlarını kaldırır; tekerlek öğrenci tahtadaki karar tablosuna bakarak hareket eder. Sınıfın geri kalanı ekibin karar tablosuna uyup uymadığını izler ve her hatada tabloyu gösterir. Ardından gruplar akış şemasını kâğıda çizer, her baklavayı bir renk kalemle "eğer" bloğu olarak yeniden yazar.
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. İki sensörlü çizgi izleyen robotta dört farklı sensör durumu vardır. (D)
  2. Sol sensör siyahı görürse robot sağa dönmelidir. (Y)
  3. Robotu sola döndürmek için sol motor durdurulur ya da yavaşlatılır, sağ motor döndürülür. (D)
  4. İki sensör de siyahı görüyorsa robot bir kesişme ya da bitiş şeridine gelmiştir. (D)
  5. Akış şemasındaki her baklava (karar) programda bir "eğer" bloğuna karşılık gelir. (D)
  6. İki sensörü kontrol etmek için iç içe "eğer" yerine tek bir "eğer" yeterlidir. (Y)
  7. analogWrite(5, 0) komutu sol motoru durdurur. (D)
  8. C kodunda koşulun içinde tek eşittir (=) kullanılarak iki değer karşılaştırılır. (Y)
  9. Programı karta yüklemeden önce kâğıt üzerinde her durumu izlemek hataları erken bulmayı sağlar. (D)
  10. Hız değeri 255 yapılırsa robot çizgiyi daha iyi izler. (Y)
Dersin uygulanmasına ilişkin açıklamalarİç içe "eğer" blokları öğrencilere ilk bakışta karışık gelir. Önce tek sensörle (yalnızca sol) iki durumlu bir program yazdırıp sonra ikinci sensörü eklemek kavramayı kolaylaştırır. Blok koddaki girintiyi tahtada renkli dikdörtgenlerle göstermek de işe yarar.
…………………………Bilişim Teknolojileri Öğretmeni
UYGUNDUR02.11.2026…………………………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ç →