Bir cümlelik özet
Bir projeye kod yazmadan veya kablo bağlamadan önce fikri kâğıda dökmek için taslak çizimi, akış şeması ve sistem blok şeması kullanırız.
Neden önemli?
Bir önceki derste birkaç çözüm alternatifi arasından birini seçtin. Şimdi elinde bir fikir var: "Karanlık olunca kendiliğinden yanan bir gece lambası yapacağım." Ama fikir, kafanın içinde durduğu sürece bulanıktır. Hangi parça nereye bağlanacak? Program hangi sırayla karar verecek? Bunları yazmadan başlarsan, çoğu zaman yarısına gelince takılır ve baştan sökmek zorunda kalırsın.
Tasarım, yapmadan önce düşünmektir. Mühendisler bir binayı inşa etmeden önce plan çizer; biz de bir robotu kurmadan önce taslağını çizeriz. Kâğıt üzerinde bir hatayı düzeltmek beş dakika sürer; lehimlenmiş bir devrede aynı hatayı düzeltmek bir saatini alabilir.
Bu derste üç basit araç kullanacağız: kaba bir taslak çizimi, adımları gösteren bir akış şeması ve parçaların bağlantısını gösteren bir sistem blok şeması. Üçü birlikte, projenin "nasıl görünecek" ve "nasıl çalışacak" sorularına yazmadan önce cevap verir.
Taslak çizimi: fikri gözle görülür yapmak
Taslak, projenin nasıl görüneceğini gösteren kaba bir çizimdir. Sanat eseri değildir; düz çizgiler ve etiketler yeterlidir. Amaç, fikri kafandan çıkarıp kâğıda koymaktır.
Gece lambası örneğimizde taslak şu soruları yanıtlar: Işık sensörü nereye bakacak? LED nereden görünecek? Kutu ne kadar büyük olacak? Pil nereye sığacak?
Örnek 1: Otomatik gece lambası taslağı
Elle çizilmiş bir kutuyu şöyle etiketleyebilirsin:
+---------------------------+
| [Işık sensörü] ○ | <- üst yüzeye bakar
| |
| ( LED ● ● ) | <- öne bakar, odayı aydınlatır
| |
| [Kart] [Pil yuvası] | <- içeride
+---------------------------+
Kutu: ~10 x 6 x 4 cm
Bu basit çizim bile önemli soruları ortaya çıkarır: Sensör LED'in ışığını görürse yanlış karar verir mi? O yüzden sensörü üste, LED'i öne koyduk. Taslağı çizmeseydik bunu ancak lamba sürekli yanıp sönmeye başladığında fark ederdik.
Örnek 2: Ders çalışma masası için mola hatırlatıcı
Aynı yöntem bambaşka bir projede de işe yarar. Belirli süre sonra "mola ver" diye uyaran küçük bir cihaz düşün. Taslağı, ekranın nereye bakacağını ve düğmenin nerede olacağını gösterir:
+------------------------+
| [Ekran: 25:00] | <- kullanıcıya bakar
| |
| ( Başlat düğmesi ) | <- öne, kolay ulaşılır
+------------------------+
İki örnekte de taslak aynı işi görür: parçaların yerini kod yazmadan önce kararlaştırmak.
Akış şeması: kararların sırasını yazmak
Akış şeması, bir programın hangi adımları hangi sırayla yapacağını şekiller ve oklarla gösterir. Bu konuyu daha önce Akış Şemaları dersinde görmüştün; burada onu gerçek bir projeyi planlamak için kullanıyoruz.
Hatırlatma niyetine temel semboller:
- Oval: Başlangıç veya bitiş.
- Dikdörtgen: Yapılacak bir işlem.
- Eşkenar dörtgen: Evet/hayır kararı.
- Ok: Bir adımdan diğerine geçiş.
Gece lambasının akış şeması
Lambanın mantığı basittir: ortam karanlıksa yak, aydınlıksa söndür, sonra tekrar kontrol et. Bunu metin biçiminde şöyle çizebiliriz:
[Başla]
|
[Işık seviyesini oku]
|
<Ortam karanlık mı?>
/ \
Evet Hayır
| |
[LED'i yak] [LED'i söndür]
\ /
[Kısa bekle]
|
(baştan oku)
Bu şema, programı hiç yazmadan bir soruyu yanıtladı: "Işık ne zaman yanacak?" Cevap açık. Ama şemayı çizmeseydin, "aydınlık mı karanlık mı" eşiğini nasıl belirleyeceğini düşünmeyi kolayca atlayabilirdin.
Akış şeması, koşullar çoğaldığında daha da değerli olur. Örneğin lambaya bir açma/kapama düğmesi eklersen, karar kutusu ikiye çıkar: "Düğme açık mı?" ve "Ortam karanlık mı?". Şema, bu iki kararı yan yana görmeni sağlar.
Sistem blok şeması: parçaların birbirine bakışı
Akış şeması *ne yapılacağını* gösterir; sistem blok şeması ise *hangi parçanın hangi parçaya bağlı olduğunu* gösterir. Her parça bir kutudur, aralarındaki oklar bilginin veya gücün akış yönünü gösterir.
Gece lambasının blok şeması
[Işık sensörü] --(ölçüm)--> [Kart / Beyin] --(komut)--> [LED]
^
|
[Pil / Güç]
Bu şema üç şeyi netleştirir:
- Girdi: Işık sensörü ortamı ölçer ve karta bilgi gönderir.
- İşlem: Kart, gelen ölçüme göre karar verir (akış şemasındaki mantık).
- Çıktı: LED, karttan gelen komuta göre yanar veya söner.
Neredeyse her elektronik proje bu girdi → işlem → çıktı kalıbına oturur. Blok şeması, bir parçayı unutup unutmadığını erken gösterir. Örneğin okla pili çizmeyi unutursan, "peki bu kart nereden güç alacak?" sorusu hemen gözüne çarpar.
Taslak, akış şeması ve blok şeması aynı projenin üç farklı yüzüdür: nasıl görünür, nasıl karar verir, neye bağlanır.
Mini uygulama
Aşağıdaki üç adımı bir defter sayfasında tamamla. Bu turda hiç kod yazmıyoruz; sadece tasarlıyoruz.
Proje fikri: Çizgi izleyen bir robot (bir önceki modüllerden hatırlıyorsun) siyah bir çizginin üzerinde kalarak ilerlesin.
- Taslak çiz. Robotun altına bakan sensörü, tekerlekleri ve pili kutu üstünde etiketle.
- Blok şeması çiz. Şu boşluğu doldur:
[Çizgi sensörü] --(...)--> [ ......... ] --(...)--> [Motorlar]
^
|
[ ......... ]
- Akış şemasını yaz. Şu iskeleti tamamla:
[Başla]
|
[Sensörü oku]
|
<Çizgi üstünde miyim?>
/ \
Evet Hayır
| |
[ ......... ] [ ......... ]
\ /
(baştan oku)
Bitirdiğinde kendine sor: Bir arkadaşın bu üç kâğıda bakarak projenin ne yaptığını anlayabilir mi? Anlayabiliyorsa taslağın hazır demektir.
Uygulama laboratuvarı: Taslak ve Akış Şeması
Taslak ve Akış Şeması konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Taslak çizimi: fikri gözle görülür yapmak ile Örnek 2: Ders çalışma masası için mola hatırlatıcı arasındaki ilişkiyi kullanarak sorun tanımı, gereksinim listesi, prototip, test kaydı ve kısa sunum hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.
Görev senaryosu
Şu senaryoyu ele al: başarısız denemeleri de belgeleyen dürüst proje günlüğü oluşturma. Dersin ana hedefi “Fikrini yazmadan önce çizim, blok şema ve akış şemasıyla planlamayı öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.
- Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
- En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
- Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
- Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
- Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.
Başarı ölçütleri
- Sorun ve kullanıcı tek cümlede tanımlı mı?
- Gereksinimler ölçülebilir mi?
- Prototip en riskli varsayımı gerçekten deniyor mu?
- Test sonucu tarih ve koşulla kaydedildi mi?
- Sunumda çalışmayan noktalar da dürüstçe açıklanıyor mu?
“Taslak ve Akış Şeması” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın başarısız denemeleri de belgeleyen dürüst proje günlüğü oluşturma senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Taslak çizimi: fikri gözle görülür yapmak ve Örnek 2: Ders çalışma masası için mola hatırlatıcı ilişkisini daha küçük adımlara bölerek düzelt.
Sık yapılan hatalar
Doğrudan koda başlamak
En sık hata, hiç plan çizmeden bilgisayarın başına oturmaktır. Küçük projelerde şansın yaver gidebilir; ama parça sayısı arttıkça planı olmayan proje ortasında dağılır.
Taslağı fazla süslemek
Taslak bir sanat çalışması değildir. Gölge, renk ve kusursuz çizgilerle uğraşmak zaman kaybıdır. Kutu ve etiket yeterlidir; önemli olan yerlerin ve bağlantıların anlaşılmasıdır.
Kararın "hayır" yolunu boş bırakmak
Akış şemasında bir karar kutusu çizip yalnız "evet" tarafını doldurmak sık görülür. "Ortam karanlık mı?" diye soruyorsan, karanlık *değilse* ne olacağını da yazmalısın.
Güç ve girdiyi unutmak
Blok şemasında herkes önce LED veya motor gibi çıktıyı çizer. Sensör (girdi) ve pil (güç) sık unutulur. Girdi → işlem → çıktı kalıbını her seferinde kontrol et.
Güvenlik notu
Bu ders kâğıt üzerinde bir planlama dersidir, bu yüzden fiziksel bir tehlike içermez. Yine de tasarımı gerçek devreye dönüştürürken pil, motor ve LED bağlantılarını bir yetişkinle birlikte kur. Şebeke elektriğiyle (prizle) çalışan hiçbir tasarım yapma; tüm projelerini düşük gerilimli pil veya USB gücüyle sınırla. Taslağına baştan bir "güvenlik" etiketi eklemek, hangi parçanın ısınabileceğini veya dikkat gerektirdiğini erkenden düşünmeni sağlar.
Ders özeti
- Tasarım, yapmadan önce düşünmektir; kâğıttaki hata ucuz, devredeki hata pahalıdır.
- Taslak çizimi, projenin nasıl görüneceğini kaba kutular ve etiketlerle gösterir.
- Akış şeması, programın hangi kararı hangi sırayla vereceğini gösterir.
- Sistem blok şeması, hangi parçanın hangi parçaya bağlandığını gösterir.
- Neredeyse her proje girdi → işlem → çıktı kalıbına oturur; blok şeması eksik parçayı erken yakalar.
Kontrol soruları
- Taslak çizimi bir projede neyi cevaplar?
- Akış şemasında eşkenar dörtgen (elmas) sembolü ne anlama gelir?
- Sistem blok şeması ile akış şeması arasındaki fark nedir?
- "Girdi → işlem → çıktı" kalıbında gece lambasının sensörü hangi bölüme girer?
- Kâğıt üzerinde bir hatayı düzeltmek neden lehimlenmiş devreden daha ucuzdur?
Cevaplar
- Projenin nasıl görüneceğini: parçaların yerini, kutunun boyutunu ve hangi yüzeyin nereye bakacağını.
- Evet/hayır cevabı olan bir kararı gösterir; oradan iki farklı yol çıkar.
- Akış şeması *ne yapılacağını ve hangi sırayla* gösterir; blok şeması *hangi parçanın neye bağlandığını* gösterir.
- Girdi bölümüne girer; sensör ortamı ölçüp karta bilgi gönderir.
- Çünkü kâğıtta silgiyle düzeltmek dakikalar sürer; lehimlenmiş bir devrede parçayı sökmek, yeniden bağlamak ve test etmek çok daha uzun zaman alır.
Kaynak ve doğrulama notu
“Taslak ve Akış Şeması” dersi için doğrulama odağı Taslak çizimi: fikri gözle görülür yapmak ile Örnek 2: Ders çalışma masası için mola hatırlatıcı arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Proje sayfalarında sonuç iddiası ancak gerçek prototip, test kaydı veya gözlemle desteklendiğinde kullanılmalıdır. Maliyet, süre ve başarı oranı gibi sayılar tahminse açıkça “tahmin” olarak işaretlenmelidir.
Sonraki ders
Malzeme Listesi ve Maliyet: Tasarladığın projeyi gerçeğe dönüştürmek için hangi parçalara ihtiyacın var ve ne kadara mal olur?