Marsa gidecek roketi yaptım da, gezgin'i yapamıyorum!
Ödev teslim tarihlerinin gelmesi ile sitede artan yoğunlukla beraber ciddi biçimde görülen bir sorundan bahsetmek istiyorum, “x yapmak istiyorum, neyle yapıcam?”, “sensörü çalıştırdım LCD’ye yazdıramıyorum!!1”, “marsa gidecek roketi yaptım da, curiosity’i yapamıyorum!” (bunu ben diyorum) gibi sık sık sorular geliyor.
Bunun sebebi, henüz yapılmaya çalışılan şeyin de, yapılan kısmının da yeterince anlaşılamamış olmasıdır.
Arduino platformu doğası gereği bazı şeyleri oldukça kolay, anlaşılabilir yapılması için oluşturulduğundan bir çok şeyi bilmeden, bazı şeyleri yapabilmenizi sağlar fakat bir ne yaptığınızı, niçin yaptığınızı bilmeden arduino ile de, başka bir şey ile de bir şeyler yapamazsınız!
Önce bazı temel konuları öğrenmeniz hem sizin için, hem bu süreçte size yardımcı olacaklar için zaman ve stres bakımından kolaylıklar sağlayacaktır.
Bir projeye başlarken yapmanız gerekenler başlıca şunlardır:
1-Öncelikle hedefinizi ve limitlerinizi (yani bulunduğunuz durumu) yeterince iyi anlamalısınız.
2-Gerçekleştirmeyi hayal ettiğiniz şeyi olabildiğince modüllere (bölümlere) ayırmalısınız (somutlaştırma).
3-Modülleri birbirinden bağımsız olarak gerçekleştirmek için ihtiyaç duyduklarınızı tespit etmelisiniz.
4-Modülleri tek başına çalıştırmalısınız. (böylece bir sorun yaşandığında tümünde birden değil, sadece x kısmında sorun yaşıyor olacaksınız.)
5-Birleştirme. Artık ayrı ayrı çalışan kısımları bir araya getirmek için yapacağınız şeyler, sistemin bütününü etkilemeyecek, bir sorun çıksa bile nereye bakmanız gerektiğini biliyor olacaksınız.
Tabi bu kısımlar için arduino ile led yakmış, internette gördüğünüz temel örnekleri (arduino ide’si içinde olanları da) yapabiliyor olmanız gerekmekte. bu kadarını yapamıyorsanız, hayal ettiğiniz bir şeyi zaten yapamayacak, yapsanız bile bir adım öteye götüremeyeceksiniz.
evet gençsiniz, teknoloji de çok gelişti, siparişler elinize ulaştığı an robot hareketlensin istiyorsunuz ama o noktaya gelene kadar ya çok para harcamanız lazım, ya da oturup uğraşmanız lazım. (imkansız değil yani)
arduino ide’sindeki örnekleri yapın. bunlar size arduino’nun nasıl çalıştığını, nasıl bir programlama diline sahip olduğunu, dijital i/o pini ile analog i/o pininin farkını, bir pinden gelen bilgiye göre, başka bir pinin tepki vermesini vb. şeyleri size öğretir. bunları yaparken hayal ettiğiniz şeyleri nasıl yapacağınızı da kafanızda şekillendirmeye başlarsınız zaten, zaman kaybı değildir yani. aynı zamanda bir yerde takıldığınızda soracağınız sorunun da daha net olmasını sağlayacaktır.
Arduino platformu sizin bazı şeyleri kolayca yapmanız için başkalarının teknik zorlukları sizin yerinize aştığı, sizin aşmanızı kolaylaştırdığı bir yapıdadır, fakat insan ile makine etkileşimi sanıldığı kadar kolay değildir.
Makineler çok sıkı kurallarla çalışırlar, toleransları bile matematiksel olarak hesaplanabilir (şimdi insanınki de hesaplanabiliyor gerçi) bu yüzden size basit gelen şeyleri bir makineye yaptırmaya çalıştığınızda pahalı veya zor gelebilir, bunu aşmanın yollarını bulmak için, yaptığnız şeyi iyi kavramış olmanız gerekir.
son olarak sadece bir ödevi teslim etmek için arduino öğreniyorsanız sadece ödevinizle sınırlı kalmaması için çaba sarfetmelisiniz. gerçek hayatta karşılaştığınız bir problemi arduino vb. araçlarla çözebilmeyi öğrenmenizin, ödevinizden tam puan almanızdan çok çok daha önemli olduğunu ileride zaten anlayacaksınız.
