May 30

SUN firması’ndan gömülü sistemler alanında yeni bir atılım: SUN SPOT

 


Java adlı programlama dili ve platformunun yaratıcısı SUN firması SUN SPOT ( SUN small programmable object technology – SUN programlanabilir nesne teknolojisi ) adı altında Java diliyle programlanabilen bir donanım platformu üretti. Platform üzerinde bulunan donanımlar şunlar :

– 180 Mhz 32 bir ARM920T çekirdekli işlemci ,512K RAM ve 4 MB flash
– 3 eksenli ivmeölçer
– Sıcaklık sensörü
– Işık Sensörü
– 8 adet 3-renk LED
– ADC tarafından okunabilen 6 analog giriş
– 2 anahtar
– 5 genel amaçlı giriş/çıkış pini ve 4 yüksek akım çıkş pini
Ayrıca platform üzerinde 2.4 Ghz’lik kablosuz radyo-modem de bulunmakta.Platform üzerinde Java ile gömülü yazılımlar geliştirilebilmekte.
SUN firması bu ürünüyle Java yazılım geliştiricilerine kolaylıkla gömülü sistemler alanında çalışma olanağı veriyor.
Günümüzde gömülü sistemlerin ne kadar yaygınlaştığını düşündüğümüzde Sun firmasının bu atılımı çok büyük önem taşıyor.
Projenin web sitesinden daha ayrıntılı bilgi alabilirsiniz: http://www.sunspotworld.com/



Haz 10

Onlar Her Yerde :Gömülü Sistemler II


Önceki yazımda gömülü sistemlere kullanıcı gözüyle bakmıştık . Bu sefer işin teknik boyutuna biraz daha eğileceğiz. Gömülü sistemlerin tanımını yapmakla işe başlayalım.Genel olarak gömülü sistemler:

“belirli bir fonksiyonu yerine getirmek için tasarlanmış yazılım ve donanım kombinasyonudur” şeklinde tanımlanabilir.

Gömülü sistemleri diğer genel amaçlı bilgisayar sistemlerinden ayıran özelliklerin başında, bu sistemlerin belirli bir amaç için tasarlanmış olmaları gelir. Bir video cihazını kontrol eden gömülü sistem bütün kullanım ömrü boyunca bu işi gerçekleştirecektir. Ancak ev ve işyerlerimizde kullandığımız PC’lerde birçok farklı işlemi gerçekleştirmekteyiz. PC’lerde bu değişik işleri değişik yazılımlarla yapmaktayız. Ancak gömülü sistemlerin içinde çalışan yazılım genellikle “tektir”.

Gömülü sistemler adlarından da anlaşılabileceği gibi genellikle daha büyük bir sistemin içinde “gömülü” olarak çalışırlar. Örneğin bir çamaşır makinesinde birçok mekanik kısım bulunmakla birlikte, bütün bunları kontrol eden bir veya birden fazla mikrodenetleyici tabanlı sistem bulunur. Bu sistemler kullandığımız cihazların “akıllı olmasını” sağlayan, beyin vazifesi gören birimlerdir

Her gömülü sistemin başlangıçta tanımlanan tasarım kriterleri farklı olduğundan, tasarımı da kendine özgüdür. Bir oyun konsolunun içerdiği birimlerle, bir mikrodalga fırının içerdiği gömülü sistemler birimleri birbirinden farklıdır. Ancak genel olarak her gömülü sistem şekildeki birimlere sahiptir:

Gömülü sistemlerin tasarım gereksinimleri şunlardır:

  • İşlem Gücü
  • Bellek
  • Geliştirme Maliyeti
  • Birim Üretim hacmi
  • Beklenilen yaşam süresi
  • Güvenilirlik

Bunlar dışında her sistemin kendine has başka gereksinimleri de olabilir. Örneğin pille çalışacak bir sistemde güç tüketimi de önemli bir kriterdir.

Tasarımlardaki kriterlere göre bu gereksinimlerinden bazıları arasında tercih yapmak gerekebilir. Örneğin karmaşık hesaplamaların gerekli olabileceği sistemlerde yüksek işlem gücü ihtiyacı ön planda olurken, çok büyük miktarlarda üretilecek sistemlerde düşük maliyet daha önemli olabilir.

Gömülü sistemler kullanım alanlarına göre zaman zaman oldukça kritik görevleri yerine getirebilirler. Burada oluşabilecek hatalar büyük mal ve can kayıplarıyla sonuçlanabilir. Bu açıdan bakıldığında bu sistemlerin “güvenilir” ve “hataları tolere edebilir” özellikte olmaları çok önemlidir. Bir mikrodalga fırının ya da bir oyuncağın içindeki sistemin zaman zaman hatalı çalışması çok büyük sorun oluşturmaz; ancak bir uçağın otomatik pilot sistemindeki hata birçok insanın hayatını tehlikeye atabilir.

Bugün dünyada üretilen mikroişlemcilerin / mikrodenetleyicilerin büyük çoğunluğu gömülü sistemlerde kullanılmaktadır. Genellikle 8 bit mikrodenetleyiciler yoğun olmakla beraber, 32 bitlik mikrodenetleyiciler de düşen maliyetleri sonucu artık geniş kullanım alanı bulmaktadır.
Gömülü sistemlerde tasarımcıların kullandığı temel araçlar:

  • Programlayıcılar
  • Hata Ayıklayıcılar (Debuggers)
  • Derleyiciler
  • Emülatörler
  • Tümleşik Geliştirme Ortamları

Gömülü sistemlerin donanım ve yazılım olarak iki ana bölümden oluştuğunu söylemiştik. Burada donanım ve yazılım bileşenleri birbirleriyle sıkı sıkıya bağlı olduğundan tasarım ekibinde bulunan yazılımcı ve donanımcıların bir arada çalışmaları gerekmektedir. Bu anlamda gömülü sistemler için “multi-disipliner” bir alan diyebiliriz. Bu alandaki mühendislerin donanım, yazılım, kontrol sistemleri vs.. gibi birçok alanda bilgi sahibi olmaları gerekmektedir.

Gömülü yazılımların karmaşıklığı artıkça ve aynı anda yapılacak işlemlerin sayısı arttığında değişik yapılara ihtiyaç duyulur. Aslında bir mikrodenetleyici aynı anda sadece bir tek işi yapabilir. Ancak işlemleri mili, mikro hatta nanosaniyeler mertebesinde gerçekleştirdiğinden, birçok işi aynı anda yapıyormuş gibi görünebilir. Genel olarak mikrodenetleyicili sistemlerde bu tür işlemler kesmeler ve zamanlayıcılar sayesinde periyodik olarak gerçekleştirilir. Bu anlamda kesmeler yazılımlarda önemli bir rol oynar.

Gömülü sistemler de ayrıca gerçek zamanlı işletim sistemleri de kullanılır (RTOS – Real Time Operating Systems). Böylelikle tasarımcı donanım ayrıntılarıyla çok uğraşmadan ana işlemleri gerçekleştirmeye odaklanabilir. Arka plandaki görevlerin senkronizasyonu işletim sistemi tarafından gerçekleştirilir.

Çok geniş bir alanı kapsayan gömülü sistemlerin bütün özelliklerini ele almak çok zor olsa da bu yazıda genel özellikleri tanımış olduk. Bundan sonra değişik özellikleriyle gömülü sistemleri tanımaya devam edeceğiz.

Kas 06

ONLAR HER YERDE:Gömülü Sistemler

Dikkat ettiniz mi: Etrafımızdaki akıllı cihazların sayısı ne kadar da arttı. Cep telefonlarımız artık sadece iletişim sağlamakla kalmıyor,müzik çalıyor,fotoğraf,video çekiyor,bilgilerimizi saklıyor. Çamaşır makinalarımız bile akıllı artık.Kendi bilgisayarlarını barındırıyorlar.Çevremizdeki cihazlara bir bakarsak artık birçoğunun tamamen olmasa da elektronik birimler barındırdığını görürüz:
Kişisel bilgisayar
– Yazıcı
– Tarayıcı (Scanner)
– Hesap makinesi
– Cep telefonu
– Cep bilgisayarı
– Televizyon
– Radyo / Kasetçalar
– Müzik amplifikatörü
– Video kamera
– DVD oynatıcı
– CD çalar
– Alarmlı Saat
– Fotograf Makinesi
– Elektronik daktilo
– Hırsız alarmı
– Mikrodalga fırın
– Bulaşık makinesi
– Buzdolabı
– Mutfak robotu
– Çamaşır makinesi
– Tansiyon ölçme cihazı
– Elektronik oyuncaklar

Bu liste daha da uzatılabilir.Listedeki bütün cihazların içinde birer bilgisayar lar var dersek çok da yanlış bir şey söylemiş olmayız.Hepsinin içine “gömülmüş” bilgisayarlar var.Gömülü sistemler tabiri de buradan geliyor zaten.

Gömülü sistem”herhangi bir sistemin içinde yer alan ve o sisteme “akıllılık” özelliğini veren elektronik donanım ve yazılımdan oluşan bütünü ifade etmektedir.Burada sözü edilen yazılımlar ,bilgisayarımızdaki genel amaçlı yazılımlardan farklı olarak ,kullanıcıyla direk değil dolaylı etkileşimde bulunan ve genellikle tek bir görevi yerine getiren yazılımlar.
Bugün ortalama bir aile otomobilinde 20-25 adet mikrodenetleyici kullanıldığı söyleniyor.Arabanıza girmeden önce uzaktan kumandayla kapıları açıyorsunuz,içeri girip kontağı çeviriyorsunuz.CD çalarınızdan bir parça seçiyorsunuz,emniyet kemerinizi takmadığınız takdirde bir uyarı sesiyle karşılaşıyorsunuz…Bütün bu sayılan adımların arka planında çalışan minik bilgisayarlar sözkonusu.Arabınızın güvenliğini sağlayan ve uzaktan kumandayla kontrol ettiğiniz alarmda, arabanızın ateşlemesini kontrol eden sistemde, cd çalarınızda ve aracınızdaki diğer sistemlerin merkezinde bir “mikroişlemci” görev yapmakta.Bu işlemciler de çoğu zaman birbirleriyle iletişim içindeler.

Bugün gömülü sistemler elektronik mühendisliğinin altında kendi başına bir dal haline gelmiştir. Dünyada birçok üniversitede lisans veya yüksek lisans düzeyinde “gömülü sistemler mühendiliği” programları bulunmaktadır.

Mikroişlemci teknolojisindeki gelişmelerle birlikte maliyetlerde büyük düşüşler yaşanmıştır.Böylelikle önceden ayrık elemanlarla tasarlanan sistemler bugün mikroişlemciler/mikrodenetleyiciler etrafında çeşitli çevrebirimlerinin entegre edilmesiyle gerçekleştirilmekte.Sözkonusu mikroişlemciler olunca, o mikroişlemciyi yöneten yazılım da önem kazanmakta.Bugün gömülü sistemlerin tasarımında donanım kadar yazılım da önemli bir maliyet unsuru haline gelmiştir.

Gömülü yazılımları genel amaçlı yazılımlardan ayıran en önemli özellik belki de tek bir amaca hizmet etmeleridir.Kullanım ömürleri boyunca aynı fonksiyonları gerçekleştirirler. Örneğin mikrodalga fırınızda sıcaklık ve zamanlama fonksiyonlarını kontrol eden yazılım, fırının kullanım ömrü boyunca aynı şekilde çalışmaya devam edecektir.

Günümüzde en çok kullandığımız gömülü sistemler herhalde cep telefonlarımızdır. Her ne kadar gelişmelerle birlikte onlar da birer mini PC halini almaya başlasalarda gömülü sistemlere iyi birer örnektirler. Kendi bellekleri,işlemcileri bulunmaktadır.İçlerindeki gömülü yazılım sayesinde donanımları işlerlik kazanmaktadırlar.

Buraya kadar gömülü sistemler “kullanıcı” gözüyle bakarak tanımaya çalıştık.Bundan sonraki yazılarımda gömülü sistemlere “mühendis” gözüyle bakmaya çalışacağım.

Ağu 21

PROGRAMLAMA SADECE BİLGİSAYARCILARIN İŞİ Mİ? – 2

HAYIR, ELEKTRONİKÇİLERİN DE İŞİ 🙂

Birkaç ay önceki “programlama sadece bilgisayarcıların işi mi?” adlı yazımda programcılığın elektronik mühendisliği alanındaki önemini tartışmıştım. Şimdi de aynı konuda yazmaya devam edeceğim.

Programlama elektronikçilerin de işidir diyoruz. Ancak bilgisayarcıların programlaması ile elektronikçilerin programlaması aynı mıdır? Önce buradan başlayalım. Bu konudaki kafa karışıklıklarımıza ilk örneği üniversitelerimizdeki “mikroişlemciler” dersinden verebiliriz. Bu ders aynı isimle birçok elektronik ve bilgisayar mühendisliği bölümlerinde okutulmaktadır. İki bölümün ortak dersi gibi görünmesine rağmen ayrım yapılması gereken noktalar var.

Çoğu zaman bilgisayar bölümündeki öğrencilere 8051 gibi “mikrodenetleyicilerin programlanması gösterilirken,elektronik bölümündeki öğrencilere 8088,80286 vs.. gibi Intel’in x86 tabanlı mikroişlemcilerinin öğretildiği görülebilmektedir.Bu “mikroişlemci ve mikrodenetleyici “ arasındaki farkın tam olarak anlaşılamamış olmasından kaynaklanmaktadır.

Mikroişlemciler başlangıçta büyük çaptaki hesaplamaların hızlıca yapılabilmesi için üretilmişlerdi. Daha sonra geliştikçe ve PC denilen kişisel bilgisayarlar ortaya çıktıkça, hesaplama dışında teknik tasarımlardan, eğlenceye birçok alanda kullanılmaya başlandılar. Böylelikle de mikroişlemciler elektronik alanından koparak bilgisayar mühendisliği adı altında ayrı bir dalın konusu içine girdiler.

Yarıiletken teknolojisindeki gelişmeler birim hacme sığdırılabilen transistör sayısında müthiş artışlara yol açtı. Böylelikle çok daha büyük performansa sahip mikroişlemciler üretildi.

Elektronik dünyası da kendi içinden çıkan bu teknolojiden faydalanmasını bildi. Daha önceki tasarım yöntemleriyle oluşturulan “sabit” fonksiyonlu devrelerin yerini, programlanarak değişik fonksiyonlar gerçekleştirebilen “mikrodenetleyiciler “ aldı. Mikrodenetleyici tabanlı sistemler bugün “gömülü sistemler “ adı altında ayrı bir mühendislik dalı da olmuştur. Bunu başka bir yazının konusu olmak üzere burada bırakıyorum.

Mikrodenetleyiciler bugün çok yüksek hızlara ve birçok değişik fonksiyona sahiptirler. Söylenenlere göre bugün ortalama bir aile otomobilinde 20’den fazla mikrodenetleyici bulunmaktadır. Evimizde kullandığımız birçok cihazda da bu minik bilgisayarlar görev yapmaktadır.

Bugün mikrodenetleyiciler elektroniğin içine bu kadar girmişken, programlama bilgisinin elektronikçiler açısından da ne kadar önemli olduğu açıktır. Burada kastedilen programlama mikrodenetleyici programlamasıdır. Peki, mikroişlemciler nasıl programlanmaktadır?

“Ben acayip assembly bilirim!”

MİKRODENETLEYİCİLERİN PROGRAMLANMASI:

“Ben acaip assembly bilirim” diyen birini gördüğünüzde ona ,”hadi be sende “ diyebilirsiniz..Evrensel bir assembly dili olmadığı gibi assembly bilmek diye bir şey de yoktur.Ancak şöyle cümleler anlamlı olabilir:”x86 assembly bilirim,8051 assembly’si biliyorum,PIC assembly öğrenmek istiyorum”

Assembly dili bir mikroişlemcinin anadilidir diyebiliriz. Assembly komutlarının her biri işlemci için bir anda gerçekleştirebileceği bir işlemi belirtir. Bilgisayar yazılımcılığı açısından bakarsak assembly dillerinin kullanımı çok kısıtlı kalmıştır. Artan karmaşıklığın altından bu şekilde kalkılması da imkansız zaten. Yazılımlar yüksek seviyeli dillerle yazılmaktadır.

Elektronik alanında assembly hala önemini korumaktadır. Çünkü bu alanda performans önemli bir kriterdir. Örneğin en çok kullanılan 8 bitlik mikrodenetleyicilerde assembly’nin sağladığı performans göz ardı edilemez kuşkusuz. Ancak günümüzde oldukça gelişen derleyiciler sayesinde C gibi orta seviyeli dillerde de yüksek performans alınmaktadır. Zaten yapılan araştırmalar dünyada bu alanda en çok kullanılan dilin C olduğunu göstermektedir. C kullananların büyük bölümü aynı zaman da assembly de kullanmaktadır.

PROGRAMLAMANIN ab C’Si

C programlama dillerinden belki de en ünlüsüdür.70’li yıllarda Brian W. Kernighan

Dennis M. Ritchie tarafından geliştirilmiştir. İlerleyen yıllarda C dilinin popüleritesi oldukça arttı. Dilin standartlaştırılması için 1983 yılında ANSI (Amerikan Ulusal Standartlar Enstitüsü ) tarafından bir komite oluşturuldu. Komite çalışmasını 1989 yılında tamamladı ve bugün geniş kabul gören ANSI C ortaya çıktı.ANSI C ile anlatılmak isteneden ANSI komitesinin 1989 yılında kabul ettiği standart C’dir.Bir kere ANSI C öğrenildiğinde bu dille uyumlu bütün derleyicilerin kullanımı kolaylaşmaktadır. ANSI C için en temel kaynaklardan biri dilin yaratıcıları Brian W. Kernighan ve Dennis M. Ritchie tarafından yazılan ANSI C kitabıdır.Bunun dışında C dilini anlatan birçok kitap bulunmaktadır.

Yapılan araştırmala gösteriyor ki mikrodenetleyi tabanlı tasarımlarda büyük oranda C dili kullanılmaktadır* C dilini kullananların büyük çoğunluğu da kullandıkları mikrodenetleyicinin assembly dilini bilmekte ve kullanmaktadırlar.

Buradan mikrodenetleyici tabanlı tasarımda yol almak için bir yol haritası çizecek olursak:

– Kullandığımız mikrodenetleyiciyi iyi tanımalıyız.Mümkünse az da olsa assembly ile programlama yapmalıyız

– ANSI C ‘yi öğrenmeliyiz.ANSI C öğrenirken ilk başta PC programlama yaparak aşinalık kazanabiliriz.

– Mikrodenetleyici ile ufak projeler yaparak deneyim kazanmalıyız.

İnternetteki bazı arkadaşların “C öğrenmek için kursa gitmeli miyim, bana faydası olur mu?” türünden sorular sorduklarını görmekteyim. Tabiki herkesin kendine has bir öğrenme stili vardır. Ancak şunu belirtmek gerekir ki bu tür kurslarda PC tabanlı programlama anlatılmaktadır. Dolayısıyla mikrodenetleyici programlama ile ilgili kavramlara yer verilmemektedir. Ancak ANSI C dilini öğrenmek için bu tür kurslardan faydalanılabilir. Gerisi de sizin kişisel çabalarınıza bağlı.

Umarım bu yazı bir ölçüde de olsa sizlere faydalı olur. Başka bir yazıda görüşmek üzere…

*C dilinin kullanımına dair örnek bir araştırma:

http://www.ertl.jp/ITRON/survey99/graph-e/lang1.gif

C programlama dili ile ilgili wikipedia sayfası:

http://tr.wikipedia.org/wiki/C_programlama_dili

Ağu 02

Programlama sadece bilgisayarcıların işi mi?

*Bu yazı daha önce www.antrak.org.tr sitesine yayınlanmıştır.

Bu yazımda bir elektrik-elektronik mühendisliği öğrencisi olarak programcılığın bu alandaki önemini tartışacağım.Programcılık denildiğinde ilk olarak akla programcılar ve bilgisayar mühendisleri gelmektedir.Genel olarak program denildiğinde de (yazılım da diyebiliriz) akla gelen ilk şeyler son kullanıcıya hitap eden üst seviye yazılımlar veya işletim sistemleri oluyor.Halbuki günümüzde programcılığın önemi elektronik mühendisliğinde de oldukça artmıştır.Bunun için elektronik biliminin gelişimine bir göz atalım.

Elektronikte yaşanılan müthiş ilerlemenin belki de başlangıcı sayılabilecek olay Bell Laboratuarlarında “transistör” ün geliştirilmesi olmuştur.Bu buluşla birlikte ,hantal olan diyot lambaların yerini çok daha küçük boyutta yarı iletkenler almıştır.Buna elektronik devriminin başlangıcı da diyebiliriz.

Transistörün ardından gelişen “tümdevre” teknolojisi yeni bir devrimi müjdeliyordu.Artık birçok eleman içeren devreler tek bir yonga içine sığdırılabiliyordu. Artık devreler tümleşik olarak üretiliyordu.Seri üretim ile maliyetler de çok düştü.
Elektronik dünyasındaki sonraki büyük gelişme mikroişlemciler olmuştur.Buna mikroişlemci devrimi de diyebiliriz.Mikroişlemci terimi günlük hayatımızda bilgisayarlarla birlikte giriş yaptı.Ancak burada konumuz elektronik mühendisliği olduğu için bu yönden inceleyeceğiz.Mikroişlemci teknolojisindeki gelişmeler onbinlerce transistörü ufacık bir hacme soktu.Bununla beraber imalat teknolojisindeki gelişmeler fiyatları oldukça aşağıya çekti.

Mikroişlemci devrimiyle birlikte bilgisayarlar dünyada hızla yayıldı.Bununla beraber elektronik mühendisliğinin bir dalı olmaktan çıkarak bilgisayar mühendisliği ayrı bir alan haline geldi.

Elektronik mühendisliği açısından mikroişlemcilere baktığımızda önceden belirli fonksiyonları yerine getiren sabit tasarımlı devreler yerine içindeki program ile fonksiyonları değiştirilebilen “gömülü sistemler” ortaya çıktı.Endüstride önceleri röle mantığıyla ,birçok anahtarlama elemanıyla gerçekleştirilen lojik fonksiyonlar sonradan programlanabilen lojik kontrollörler (PLC) denilen cihazlarla yapılmaya başlandı.Bu cihazlar içinde bir mikroişlemci ve giriş çıkış birimlerini barındıran kompakt kontrol cihazlarıydı.Sistemde daha sonradan çıkan yeni ihtiyaçlara göre fiziki sistem üzerinde değişiklik yapılmadan yazılımın değiştirilmesi ile bu gerçekleştirilmeye başlandı.

Elektronik dünyasında mikroişlemciler giderek mikrokontrollör çatısı altına girmeye başladılar.Mikrokontrollörü içinde mikroişlemci,bellek,giriş/çıkış birimleri barındıran bütünleşik bir sistem olarak tarif edebiliriz.Ya da başka bir deyişle tek çiplik bir bilgisayar.Bilgisayarımızın ufak bir modelidir aslında.

Mikrokontrollörler büyük bir hızla elektronik sektöründe yerlerini aldılar.Bugün dünyada yılda milyarlarca mikrokontrollör üretilmektedir.Ortalama bir aile arabasında 20 kadar mikrokontrollör bulunmaktadır.Örneğin abs fren sistemi kontrolünde,elektronik ateşleme sisteminde,cd çalarda,alarm sisteminde…

Artık evimizde bizim görmediğimiz birçok minik bilgisayar haberimiz olmadan kendi işlerini yapıyorlar.Müzik dinlediğiniz cd çalarınız,evinizdeki mikrodalga fırınınızda,televizyonunuzda hatta otomatik zaman ayarlı oda parfümünüzde ufak bilgisayarlar gizli.

ELEKTRONİK MÜHENDİSLİĞİ VE PROGRAMCILIK
Elektronikten ortaya çıkmış programlanabilen cihazlar yine elektroniğin içine böylesine girmişken ,programcılık mantığından uzak bir elektronik mühendisliğinden de artık söz edilemez olmuştur.Ancak ne yazık ki elektrik-elektronik mühendisliği müfredatlarına baktığımızda bu konuda büyük eksikliklerin olduğu görülmektedir.Temel bilgisayar bilimleri dersleri adı altında bir programlama diline (büyük oranda C’ye) üstün körü değiniliyor,yapılan uygulamalar da adres defteri yazmayı geçmiyor.Temel programlama mantığı öğretilmediği için işin içine ezber giriyor.Programcılık da tamamen matematiksel bir mantığa dayandığından ezberle halledilebilecek bir şey değil.
Eğer elektronik konusunda ciddi olarak çalışma yapmak istiyorsak, programcılıktan uzak kalmamız mümkün değil.Programlama konusunda kendimizi mümkün olduğunca geliştirmeliyiz.

PEKİ NEREDEN BAŞLAYACAĞIZ?

4 Senelik mühendislik müfredatında programcılık ile ilk tanıştığımız ders “temel bilgisayar bilimleri” ya da değişik adlarla olabiliyor.Burada ilk olarak öğrenmemiz gereken şey bilgisayarın temel yapısı ve birimleri.Ardından bütün programlama dillerinde bulunan belirli yapıları öğrenmeliyiz.Tabiki hepsinden önemlisi “algoritma” öğrenmek.Algoritmayı kısaca “bir işi yapmak için izlenecek yol” diye tanımlayabiliriz.Bir problemi dijital bir bilgisayara(mikrokontrollör,PC vs…) çözdürebilmek için öncelikle onu bilgisayarın anlayabileceği şekilde ona anlatmalıyız.Bunun için problem belirli adımlarla tanımlanmalı ve bir programlama diliyle bilgisayara aktarılmalıdır.
Algoritmadan sonraki aşama bir programlama diliyle bu algoritmaların çalıştırılmasıdır.Başlangıç olarak PASCAL,BASIC gibi diller programcılığa ısınmak için ideal olabilirler.Ardından adını çokça duyduğumuz meşhur C’ye geçiş yapılabilir.C günümüzde hala popülerliğini koruyan bir dildir.Elektronikte de mikrokontrollörlerin programlanmasında büyük oranda bu dil kullanılmaktadır.

Burada kendi görüşlerim etrafında programcılığın elektronik alanındaki önemini tartışmaya çalıştım.Umarım bu konuda kendini geliştirmeye çalışan arkadaşlar için ufak da olsa bir yol gösterici olabilir.