Robotik sistemlerde çevrim içi yazılım geliştirme sürecinde kullanılan bileşenlerden yararlanabilme.
- Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini tanımlar.
- Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini kullanır (Sıralı Kod Akışı).
- Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini değerlendirir.
1) Kod Akışı Nedir?
Kod Akışı (Control Flow): Blokların bilgisayar veya mikrodenetleyici tarafından hangi sırada ve yönde çalıştırılacağını ifade eden kurallar bütünüdür.
Dizge'de kod akışının 3 temel altın kuralı vardır:
- 1. Başlangıç Tetikleyicisi: Her kod akışı bir Olay (Şapka) bloğu ile başlar (Örn:
[Yeşil Bayrağa Tıklandığında]). Şapka bloğu olmayan bloklar sahnede kendi kendine çalışmaz. - 2. Yukarıdan Aşağıya Okuma: İşlemci en tepedeki bloktan başlar; o bloğun görevi biter bitmez hemen altındakine geçer.
- 3. Kesin İtaat: Bilgisayar kendi kafasından adım atlayamaz, sıralamayı değiştiremez. Biz hangi sırayla dizdiysek harfiyen onu yapar.
2) Sıra Neden Bu Kadar Önemlidir? (Davranış Karşılaştırması)
Aynı blokları kullanarak bambaşka iki sonuç elde edebilirsiniz. Şu iki örneği inceleyelim:
| Sıralama A (Doğru Sıra) | Sıralama B (Karışık Sıra) | Sonuç ve Davranış Farkı |
|---|---|---|
1. [Yeşil bayrağa tıklandığında]2. ["Merhaba!" de (2 sn)]3. [10 adım git] | 1. [Yeşil bayrağa tıklandığında]2. [10 adım git]3. ["Merhaba!" de (2 sn)] | A Senaryosunda: Karakter önce karşısındakine kibarca selam verir, ardından yürümeye başlar. B Senaryosunda: Karakter önce yürür, sonra selam verir. (Her iki program da çalışır ama karakterin sergilediği davranış ve kurgu tamamen değişir!) |
Sabah giyinirken önce ayakkabınızı, sonra çorabınızı giyebilir misiniz? Hayır! Kodlamada da önce kapıyı açmalı, sonra dışarı çıkmalısınız. Robotik projelerde: "Önce sensörü oku ➔ Sonra motoru çevir" sıralaması şarttır. Tersi yapılırsa robot körlemesine hareket eder!
3) Zamanlamanın Gücü: Bekleme Bloğu ([... saniye bekle])
Bilgisayarlar saniyede milyarlarca işlem yapabilen inanılmaz hızlı makinelerdir. Eğer arka arkaya komutlar verirken araya [... saniye bekle] bloğu koymazsanız iki büyük sorun yaşanır:
- Göz Yanılsaması: Ekranda bir karakterin kostümünü değiştirip hemen arkasından başka bir kostüme geçerseniz, aradaki geçişi insan gözü yakalayamaz; sanki hiç değişmemiş gibi görünür.
- Motor ve Donanım Yorgunluğu: Gerçek bir robotta motora "İleri git" deyip hemen bir salise sonra "Geri dön" derseniz motor fiziksel eylemsizlik yüzünden kilitlenir veya zorlanır. Motorun hareketini tamamlaması için araya mutlaka 1-2 saniyelik bekleme konulmalıdır.
4) Robotik Vaka İncelemesi: Akıllı Trafik Işıkları
Okul kavşağına kurulan otomatik bir trafik ışığı robotunu kodladığımızı düşünelim:
[Yeşil LED'i Yak] ➔ [Kırmızı LED'i Yak] ➔ [Sarı LED'i Yak](Aralarında bekleme olmadığı için tüm ışıklar aynı anda yanıyormuş gibi görünür veya saliseler içinde geçip gider. Sürücüler ne yapacağını şaşırır ve kaza olur!)
1)
[Kırmızı LED'i Yak] ➔ [5 Saniye Bekle] (Araçlar dursun, yayalar geçsin)2)
[Sarı LED'i Yak] ➔ [2 Saniye Bekle] (Hazırlanın)3)
[Kırmızı ve Sarı'yı Söndür, Yeşil LED'i Yak] ➔ [5 Saniye Bekle] (Araçlar geçsin)(Sıralı akış ve doğru bekleme süreleri sayesinde trafik güvenle akar!)
5) Sınav Tarzı Örnek Sorular ve Çözümleri
A) Kod Akışı — Olaylar (Sarı)
B) Blok Kütüphanesi — Görünüm (Mor)
C) Sahne Düzeni — Algılama (Açık Mavi)
D) Veri Analizi — Ses (Pembe)
Blokların yukarıdan aşağıya çalışma sırasına Kod Akışı denir. Programın tetiklenmesi için en başta mutlaka Olaylar kategorisinden bir şapka bloğu (örneğin Yeşil Bayrağa Tıklandığında) yer almalıdır.
[0.3 saniye bekle] bloğu konulmazsa sahnede nasıl bir sorun oluşur?6) 9. Hafta Özeti ve Altın İlkeler
- Kod akışı yukarıdan aşağıyadır: Bilgisayar blokları tıpkı bir yemek tarifi gibi sırayla yürütür.
- Sıra davranışı belirler: Blokların yerini değiştirmek programın yapacağı eylemleri ve sonuçları tamamen değiştirir.
- Bekleme bloğu köprüdür: İnsan gözünün animasyonu algılaması ve robot motorlarının fiziksel hareketi tamamlaması için bekleme adımı zorunludur.