Gömülü Sistem Rehberi -5- Bir Mikrodenetleyiciyi Öğrenmeye Başlamak

Önceki yazıda mikrodenetleyiciler ile gömülü sistemlere giriş yapmayı ve uygun mikrodenetleyiciyi seçmeyi size anlatmıştık. Diyelim bir mikrodenetleyici ailesinde veya modelinde karar kıldık ve bunu öğrenerek gömülü sistemlere giriş yapacağız. Bu durumda hangi adımları uygulamalı ve hangi konularda nasıl hareket etmeli bütün bunları da bu yazıda size anlatacağız. Daha ilerisi için artık sitemizdeki diğer yazılara ve yazdığımız kitaplara bakabilirsiniz ve kaynak araştırması yapabilirsiniz.

Öncelikle bir ön araştırma yapıp piyasada hangi mikrodenetleyici ailelerinin eğitim için uygun olduğunu saptamanız gerekli. Bizim size söylememiz yerine sizin araştırıp kendi kanaatinizle seçmeniz geliştiricilik yönünde atılan ilk adım olacaktır. Hangi mikrodenetleyiciyi seçtiğiniz değil hangi mikrodenetleyiciyi seçebileceğiniz burada önemlidir. Çünkü bundan sonraki bütün işlerinizi kendiniz araştırıp kendi kanaatinize göre yapmanız gerekir. Herkesin sözüyle hareket etmeye kalkarsanız nasrettin hoca fıkrasındaki durumu yaşarsınız. Siz kendi araştırmanızda farklı bir mikrodenetleyiciyi öğrenmekte karar kılsanız da ben kendi açımdan bir ön araştırma yapıp AVR mikrodenetleyicilerde karar kılıyorum. Bu yazıyı da bu örnek üzerinden devam ettireceğiz. AVR mikrodenetleyicileri öğrenmeye karar vermemizin sebebinde daha önceden bahsettiğimiz kriterler yer almaktadır. Ayrıca benim AVR mikrodenetleyicileri öğrenmede karar kılmam ise hakkında Türkçe kaynak olmasa da İngilizce videoları, blog yazılarını ve forumları takip edecek İngilizce’yi bilmemden dolayıdır. Eğer İngilizce bilgim yeterli olmasaydı hakkında Türkçe kaynağın daha fazla olduğu PIC mikrodenetleyicilere yönelecektim.

Kaynak araştırmasını yaptıktan sonra sıra kaynak toplamaya gelmektedir. Kaynak toplamak mikrodenetleyici hakkındaki eğitim meteryallerini arayıp bulup bir araya getirmek olarak özetlenebilir. Örneğin ben AVR öğrenmeye başlamadan önce AVR hakkında yazılmış İngilizce kitapları topladım, pdf dosyalarını bir klasörde depoladım, datasheet ve uygulama notlarını indirdim ve birincil ve ikincil kaynaklarımı elde etmiş oldum. Kaynak toplamaktaki ilk adım üretici firmanın internet sayfasına girip mikrodenetleyici hakkındaki datasheet, uygulama notu, programlama kılavuzu, derleyici kılavuzu gibi “birincil” kaynakları toplamaktır. İkinci adım ise bu birincil kaynaklara en yakın olan ve birincil kaynaklardan faydalanmak için gerekli olan kitapları toplamaktır. Bunu da Amazon veya Türk kitap sitelerinden anahtar kelime ile yaptığınız bir taramaya göre belirlersiniz. Sonrasında karar kıldığınız kitapları elde etmeniz gereklidir. Kitap alırken bir kitapla her şeyi öğrenmeyi beklemek bir geliştiricinin yolu değildir.  Hele Türkçe kitap alıyorsanız bazı kitaplar hiç öğretici nitelikte olmayabilir. Bunları göz önünde bulundurup kitaplar hakkındaki yorumları ve içeriği tarayıp birkaç kitap almanız daha isabetli olacaktır. Eğer İngilizce kitap okuyabiliyorsanız elde etmeniz daha kolay olacaktır. İngilizce kitaplarda hayal kırıklığı yaşama imkanınız daha azdır. Burada datasheet gibi üreticinin yayınladığı notlar birincil kaynak olup kitap yazarları da bunlardan faydalanarak anlatım, uygulama, tecrübe ve eğitimciliği ilave ederek kitap yazmaktadır. Eğer datasheeti okuyup rahatça anlayıp uygulayabilecek seviyedeyseniz en iyi kitap bile size pek birşey katamaz. Fakat ben Muhammed Ali Mazidi’nin kitabını okurken dijital elektronik ve mikroişlemci mimarisine dair pek çok bilgiyi öğrendim ve Assembly dilinin mantığını anladım. Burada tecrübe, anlatım ve farklı konulara değinmek datasheetin size öğretemeceği şeyleri öğretebilir.

Kaynak olarak birinci ve ikinci derecede kaynakların ardından pek çok Youtube kanalı, blog sitesi, forum ve eğitim içeriği üçüncü derece kaynaklar içerisine girmektedir. Bu noktada Google’ı iyi kullanmak ve yer imleri olarak bu kaynakları kaydetmek gereklidir. Datasheet ve kitap gibi derli toplu halde olmayan bu kaynakları bazen oldukça dağınık halde bulursunuz ve aradığınız bilgi için epey bir araştırma yapmanız gerekebilir. Bu kaynakların önemli yanı datasheette ve kitapta yazmayan bazı pratik bilgileri ve püf noktalarını bulabilme imkanınızın oluşudur. Elbette İngilizce kaynaklardan bahsediyorum. Türkçe gruplardaki saçma sapan sorulara gelen cevapları okumakla bilginize çok da şey katılmayacaktır. Ama örneğin Arduino forumunda Arduino ve AVR programlamaya dair derin bilgileri okuyabilir ya da avrfreaks forumunda datasheette yazmayan hususların tartışıldığı ve paylaşıldığını görebilirsiniz. Böyle bir topluluğun olması her seviyedeki geliştiricilerin faydasına olmaktadır. O yüzden forumdan öğrenmeye çalışmayın fakat bir mesele olduğunda Google’dan aratıp sorunuzun cevabını bulmasını bilin.

Youtube videolarına gelince ben Youtube’dan video izleyerek öğrenen biri değilim. O yüzden Youtube meselesine pek sıcak bakmıyorum. Fakat bazen uzmanların yaptığı ileri seviyedeki çalışmalar Youtube’dan paylaşılmakta. Örneğin Ben Eater’in üniversitede AVR’yi anlattığı dersleri Youtube’dan izleyebilirsiniz. Kısacası şovmen olmayan gerçekten işinin uzmanı eğitimcilerin videolarını izlemenin bir faydası olacaktır. Ama genel olarak şunu söyleyebilrim. Ben izlediğim Youtube videolarının %90’ından fazlasında kitaplarda bulduğum bilgileri ve derinliği bulamamaktayım. Youtube videolarının seviyesi oldukça basit gelmekte ve hakkıyla bir geliştirici olmak isteyenler için zaman kaybı olmaktadır. Saatlerce Youtube videosu izlesem de sonrasında tekrar kitap ve datasheet okumam gerekecek. O yüzden saatlerce izleyip vakit kaybetmek istemiyorum. Siz de birincil ve ikincil kaynakları esas alarak çalışırsanız zor bir süreçten geçseniz de yüzlerce saat Youtube videosu izleyenlerden kat kat ileride olursunuz.

Kaynak toplamanın başlarda zor bir süreç olması ve uzun zaman alması sizi yıldırmamalı. Çünkü başlangıç için en büyük sermayeniz topladığınız kaynaklardır. Kaynak toplamanın ardından geliştirme kartı almak, derleme stüdyosunu kurmak gibi işler birkaç tıka bakmaktadır.

Elinizde yeterli kaynak olduktan sonra hemen uygulama yapmaya, robot yapmaya, uçak yapmaya kalkmayın. Öncelikle bu kaynaklara göz gezdirmeniz ve ön fikir edinmeniz gereklidir. Sonrasında sağlam bir giriş için sindire sindire okumanız şarttır. Takıldığınız noktada yine Google’ı kullanarak araştırma yapmanız gerekir. Bu noktada İngilizce bilmek ile hiç İngilizce bilmemek arasında dağlar kadar fark vardır. Hiç İngilizce bilmeyen birinin 6 ayda öğreneceği bilgiyi İngilizce bilen biri bilgisayarı etkili bir şekilde kullanıyorsa bir ayda öğrenebilir. Öğrenme sürecinde boş zamanlarınızı ana kaynaklardan farklı olarak Youtube, Google gibi sitelerde araştırma yaparak, haberleri takip ederek ve farklı yazıları okuyarak geçirmeniz iyi olur. Bu alanda kültürü edinmek için datasheeti okumak yeterli değildir. Eğer İngilizceniz orta seviyede (B1-B2) ise bu alanda yazılmış basit blog yazılarını okumakla işe başlayabilirsiniz. Tutorial adı verilen bu yazılar basit bir dille yazılmıştır ve datasheet ya da kitap dilinden çok daha basit noktadadır. İnternetteki makalelerin genel olarak böyle bir basit dil yapısı vardır. İş kitap okumaya gelince birsürü teknik terim, gramer ve anlatım tarzı girmektedir. Datasheetleri ise öğrencilere yönelik değil geliştiricilere yönelik yazmaktadırlar. O yüzden sizin o teknik dili okuyup anlayabilmeniz gereklidir. Fakat teknik terimleri bir kenara bırakırsak datasheetler çok üstün seviye bir İngilizcede yazılı değildir. Bazen kitapları okuyup anlamak datasheet okumaktan daha çok İngilizce gerektirmektedir.

Öğrenim sürecinde en çok şikayet edilen konulardan biri de bir gün öğrendiğinizi ertesi gün unutmadır. Konuyu ezberlemeyip anlasanız dahi tam sindiremediğinizden dolayı kolaylıkla unutursunuz. Mikrodenetleyici seviye seviye ilerleyen bir konudur ve eski konuları unutmakla yeni konuları öğrenemez hale gelirsiniz. Bu yüzden öğrenmenin en etkili yollarından biri olan öğretmek ve yazma yollarını tercih etmelisiniz. Örneğin ben yazdığım kitaplarda ve blog yazılarındaki bilgileri unutmuş değilim. Yazarken en önemli nokta bunu kendi cümlelerinizle anlatabilmeniz gerektiğidir. Türkçe öğrenme tavsiyemizin ne kadar önemli olduğu burada da karşımıza çıkmaktadır.

Gömülü sistemleri öğrenmeye başlarken en önemli gördüğüm noktaları sizinle paylaştım. Pek çok nokta kalsa da yazımız yeteri kadar uzadığı için burada noktalayacağız ve yeri geldiğinde anlatmaya devam edeceğiz.

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

UYARI!!

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.