“Mühendislik Öğrencileri” Neden Arduino Kullanmalı?

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

Gelişen dünyanın lokomotifi olarak kabul edebileceğimiz yazılım teknolojilerinin, her geçen gün önemi amudi olarak artmaktadır. Bu durum bir çok firmanın ve ülkenin dikkatini çekmektedir. Dolayısıyla yazılım alanında yapılan yatırımların hacmi bir hayli büyümektedir. Yazılım alanında yapılan yatırımlar eğitim sistemlerinde uygulanan politikalara kadar sirayet etmekte ve ciddi anlamda meyveler verdiği de geliştirilen ürünleriyle ortadadır.

Yazılım dünyasında etkin rol almak için en iyi yazılımcılara sahip olmanız gerekmektedir. Bunun iki yolu var. Birincisi; yurt dışından iyi eğitim almış yazılımcıları büyük paralar ödeyerek ülkemizde istihdam etmektir. İkinci yolu ise; “milli bir bilinçle” en iyi yazılımcıları yetiştirebileceğimiz, eğitim olanaklarını uygulayarak, ciddi yatırımlarla bu işi desteklemektir. İkincisini uygulama noktasında henüz emekleme safhasında olduğumuz gerçeğini kabul etmeliyiz. Kodlama dersleri henüz orta okul ve liselerde yeni yeni uygulanmaya başlandı/başlayacak.

Peki! Üniversitelerde yıllardır programlama dersleri verilmekte ve çeşitli projeler ortaya konmaktadır. Verilen eğitimler ne kadar gerçeğe yakın? Ne kadar piyasanın ihtiyaçlarını karşılayabilecek seviyelerde? En iyi üniversitelerimizin Dünya sıralamasında 500. sıralara ancak çıkabildiğini düşünürsek, henüz üniversitelerde dahi yeterli olamadığımız ortadadır.

Neden üniversitelerde çok iyi yazılımcılar yetiştiremiyoruz? Ve neden üniversitelerimizde bilimsel çalışmalar ışığında ciddi projeler ortaya konulamamaktadır?

Bu soruların cevaplarını üniversite mezunu olan herkes az çok tahmin edebilir. Şunu söylemek gerekirse, Türkiye’de ilk 10’da olan bir üniversiteden mezunum. Bitirme projelerinde gözlemlediğim kadarıyla onlarca öğrenci projelerini/yazılımlarını farklı kişilere yaptırarak sunum yaptılar. Bu gerçeğin içini çok deşmeye gerek yok bence. Sadece durum tespiti yapmak bakımından yeterlidir. Durumun ciddiyeti ortada, eksiklikler de ilave edilince bir çok sıkıntıyı ve kısır döngüyü beraberinde getirmektedir.

Bu tespit sadece yazılımcı yetiştirme konusunda da değildir diye düşünüyorum. Birçok alanda benzer durumlar söz konusudur. Her neyse..

Konumuz yazılımcı yetiştirememe noktasında ki gerçekler ve Arduinonun rolü.

Arduino benim takip edebildiğim kadarıyla son beş altı yıldır piyasada ciddi anlamda talep gören bir geliştirme platformudur. Talep görmesinin temel nedeni, projelerin yapım aşamasında sağladığı kolaylıklardır. Ve tabii ki, fiyatı.

Çok geniş bir kitle tarafından kolay uygulanabilir yanları ve yazılım noktasında ki kütüphane desteği ile herkese; en azından ortaya “bir şeyler” koyabileceğini gösterdi.

Daha eskilere gidecek olursak;

Mikroişlemci(8088, 6200 vb.) kullananlar; eprom, ram, adres kilitleme entegresi ve osilatör devresi gibi konularla boğuşanlar; basit programlanabilir bir elektronik projenin geliştirilmesinin ne kadar sabır istediğini ve kod yazmaktan ne kadar soğuttuğunu iyi bilirler.

Daha sonraları piyasada yaygınlaşan mikrodenetleyiciler ile işler bir hayli rahatladı ve kod yazmak daha da keyifli hale geldi.(en azından benim için) Artık içerisinde ram, flash bellek ve çevresel birçok donanımı olan, programlanabilen entegreler vardı. Artık programı yanlış yazdığınızda, epromu 20 dakika ultraviyole ışıkta tutarak silinmesini bekleme zamanları yoktu.:) 8051’ler, PIC 16F84’ler gelmişti. Biraz daha kod yazmanın ne kadar da keyifli olduğunu anlamaya başladım. Çünkü onlarca işle boğuşmak zorunda değildim.

Düşünün bir led yakıp söndüreceksiniz. Kodu yazdınız, programlayıcı ile eproma yazdınız. Bir sürü kablo bağlantısını yaptınız. Denediniz ve çalışıyor.(çok düşük bir ihtimal) Peki, birde buton kullanayım dediniz. Öğrenmek ve kendinizi geliştirmek için! Epromu sildiniz(20 dakika), sonra tekrar programlayıcıyı bağladınız eproma yazdınız. Denediniz ve çalıştı. Süper.

Düşünelim şimdi; gerçek ortamda kendini yazılım konusunda geliştirmek isteyen bir insanın bütün yazılımsal konuları teker teker deneyerek öğrenme yoluna gittiğini? Sabrını takdir etmek gerekir!

Şimdi gelelim Arduinonun getirdiklerine ve götürdüklerine

Arduino bizi elektronik karmaşadan bir nebze kurtararak, daha fazla yazılımsal noktalara kaydırarak, programlama üzerine odaklamaktadır(benim bakış açım). Mesela, bir led yakıp söndürme deneyi yapacaksınız:

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

Amaç; bir ledi kodlarla nasıl yakıp söndürebilirim? Donanıma nasıl söz geçirebilirim? if-else, ile butonu nasıl kullanabilirim? Switch-case’i öğrenmek için yapacağım uygulamada sonuçlarını nasıl gözlemlerim? Şöyle yaparsam ne olur? Böyle yaparsam nasıl olur? Gibi sorularla daha fazla programlama konularına hâkim olmak ise,

“donanım açısından bizi en az uğraştıracak platformu tercih etmeliyiz.”

Ancak bunları yaparken(öğrenirken);

o yapılandırma ayarlarından biri şöyle değil de böyle olacakmış(saatler süren araştırmalar sonucunda buluyorsunuz tabi),

onlarca bağlantı arasında çıkan kablolar,

temas etmeyen zil telleri, bir sürü kablo içerisinde unuttuğunuz atlamalar vs.

 gibi birçok konu ile uğraşmaktan yazılıma odaklanma şansınız çok ama çok azalmaktadır.

“Bunları da göz ardı ederseniz Arduinoyu tercih etmeyin derim!”

Mühendisler Arduino kullanmasın demek, realiteleri göz ardı etmektir. Kendini programlama konusunda eksik gören herkes kullanabilir. “Mühendis” dahi olsa..

Arduino şu an piyasada proje geliştirmek için tercih edilen bir platform değildir. Zannediyorum olamaz da..

Ancak; Arduino, programlama öğrenmek ve geliştirmek için çok avantajlı bir platformdur. Basamak olarak görülmelidir kanaatindeyim.

M. Yalçın ASLAN

 

Kodlama Eğitimi

Bana Oyun Yapar Mısın?-Scratch

Hesaplamalı Düşünme Becerileri ve Kodlama

Code.org İle Kodlamaya Başlangıç

 

Arduino ve Kodlama Kitabı Piyasaya Çıktı!