Elektronik / Yazar Projeleri Makaleler Elektronik/

Bir teknikerin pic programlama deneyimleri

Sponsorlu Bağlantılar

Elektronik ile ilgilenen bir çok kişinin en büyük isteği, hevesidir “pic programlama” Benimde uzun süredir PIC Programlama ile uğraşlarım oluyor ne yazık ki çalışmalar hep kesik aralıklar ile kalıyor fazla detaya girmek istemiyorum hayat işte :) evdeki hesap çarşıya uymuyor bir türlü bu işi öğrenemedim tam olacak derken başa sardım.

Bu konu hakkında yeni başlayacak kişiler için bir yazı hazırlamak istiyordum zar zor yazıyı bitirebildim yeni başlayan kişiler benim yaptığım hataları yapmasınlar daha kolay ve daha kısa sürede öğrensinler

Önerilerim benim gibi PIC programlama ile hiç ilgisi, bilgisi olmayan elektronik ile tanışması meslek lisesi dışında olan kişiler içindir fakat okulda bu işlerin içinde olan kişiler içinde faydalanabilecekleri bilgiler olabilir sonuçta yazdıklarım kendi tecrübelerimden ibaret.

Yazımda hatalar olabilir sonuçta çok bilgim yok uzman bir programcı değilim yazılanlar kendi görüşümdür fakat vereceğim bilgilerin çoğu tecrübelerim sonucu oluştu sanırım bu kadar açıklama yeterlidir başlangıcı yapalım.

PIC & ATMEL hangisi daha iyi ?

atmel vs microchipAslında bu soruyu programlama işlerine başladıktan bir süre sonra araştıracaksınız. Benim tecrübem böyle oldu. ilk zamanlar aklınızda olmaz :) en başında bilgi sahibi olmanız daha sonra kafanızın karışmasından, vakit kaybetmenizden iyidir. Hiç düşünmeyin en akıllı seçim microchip pic olacaktır.

Mecburen Microchip PIC kullanacağız PIC mikro denetleyicileri çok popüler olduğu için bir çok elektronik malzeme satan yerlerde uygun fiyata bulunabilir çeşitleri boldur artık klasik hale gelmiştir yaygındır. Bu sebeplerden dolayı kullanıcısı, hakkında bilgisi olan kişiler fazladır bu sayede sorunlarınızı çözmek için danışacağınız bir çok kişi olacaktır.

Bu sebeplerden dolayı atmel serisi denetleyiciler hakkında fazla araştırmam olmadı en çok kaynak, destek microchip pic serisinde

Paranızı ve Zamanınızı Harcamayın

bosunaBaşlangıçta yapacağımız en büyük hatalardan biri gereksiz yere masraf Kitaplar, PIC programlayıcı, Deneme kartı, PIC ve diğer malzemelere para harcamak ve bu malzemeleri araştırmak için harcanan zaman kaybı çok büyük olacak emin olun

Başlangıç için hiç bir çihaz, malzeme satın almayın. Biliyorum büyük bir heves var :) hemen bir program yazıp denemek isiyorsunuz fakat zaman ve para kaybından başka bir şey değil.

Denemeler için Proteus isis programını kullanın bir kaç ay isis ile çalışmalarınızı yapın bakalım durum nasıl programlama işini hedeflediğiniz gibi ilerliyormu gereken zamanı ayırabiliyormusunuz. Gerekirse daha sonra istediğiniz donanımı, kitabı alırsınız nede olsa para verip alması çok kolay :)

Kitap satın almadan önce web üzerindeki kaynaklara göz atın şuan çok iyi hazırlanmış detaylı kaynaklar bulunuyor Ete hocamızın pic basic dersleri, (başlangıç için tavsiyemdir) Fırat hocamızın hi-tech dersleri, Muhittin hocamızın proton dersleri daha bir çok kaynak ve uygulama

Not: Birde bu sıralar USB programlayıcılar moda olur ya illede programlayıcı almak isterseniz ufak bir not yeni başlayanlar için bu cihazlar sadece mecbur kalındığında alınmalı bilgisayarınızda COM (RS232) ya da LPT port var ise PIC programlama için çok basit düşük maliyetli devreler var bu devrelerden biri ve ICPROG ile bir çok PIC mikroyu programlayabilirsiniz USB programlayıcı diz üstü bilgisayarlar için ideal çünkü bahsettiğim portlar üzerinden çalışan basit devreler diz üstü bilgisayarlarda sorun çıkartıyor ya da bağlantı noktaları olmadığı için kullanılamıyor.

Deneme kartı için bir önerim yok şuan piyasadan satın alıp denediğim bir kart yok fakat piyasada ucuza bir çok alternatif var çok özellikli bir kart almanıza gerek yok led display lcd çıkışları olan bir kart yeterli olut birde bred board alırsınız deneme kartından kablo çekerek kartın yapamadığı işleri bread bord üzerinden yaparsınız

Hangi Programlama Dilini Kullanmalıyım ?

code_010101İşte kafanızı en çok karıştıracak en çok zaman harcayacağınız konu aslında bu sorunun net bir cevabı olmaz kişiye göre değişir öncelikle ben dahil bir çok kişide “”olmuşken en iyisi olsun ileride başımız ağrımasın“” düşüncesi var :) birde seçenek çok olunca her şey karışıyor en iyisi hangisi diyerek harcadığımız zaman çok fazla

PIC Programlama için kullanabileceğimiz popüler dillere bir bakalım

  • Assembly
  • Pic Basic
  • Proton
  • PIC C
  • CCS C
  • Jal

Yukarıdaki listedeki programlama dilleri hakkında web üzerinde bolca Türkçe bilgi ve uygulama bulunuyor düzenli çalışırsanız 1 hafta içinde hepsini kolay uygulamalar yaparak test edersiniz sonunda size uygun dili bulursunuz. Tavsiyem sorarak değil uygulayarak programlama dilini seçmeniz

Kendinizi sabitlemeyin çözemiyorsanız anlayamıyorsanız farklı bir dile geçin

Web üzerinde araştırma yaptığınızda bazı dillerin yetersiz olduğundan bahsedilir örneğin PIC BASIC, JAL vb. bu diller ile ileri seviye programlar yapılamayacağından bahsedilir ve daha bir çok şey.

Ön planda olan diller ASSEMBLY, PIC C, CCS C fakat şunu göz önünde bulundurun pic basic, proton vb. ile bir çok harika devre yapılmış. İnsanlık hali işte daha led yakmadan ileriyi düşünüyoruz birde pic basic, jal vb. yetersiz karmaşık programlarda tıkanıyor ileri seviye işler yapmak zor vs vs. gibi yazılar ile karşılaşınca işler karışıyor bunları düşünmeyin :) hangi dil olursa olsun bir yerlerden başlangıç yapın.

Bu konu önemli fakat çok düşünülmemesi gerekli size en kolay gelen bir dilden başlayın pic basic vb. fark etmez. Biraz araştırın pic basic, jal vb. ile neler yapılmış süper projeler var as olan bir yerlerden başlamak zaten öğrendikçe mikro denetleyiciler hakkında bilgi sahibi olduktan sonra mikronun çalışmasını çözdükçe her şey daha kolay olacak farklı dilleri anlamak öğrenmek kolaylaşacak

Kullanacağınız Mikro denetleyici hakkında bilgi sahibi olmalısınız

pic18fxx90Ben dahil bir çok kişi aynı hatayı yapmıştır programlama diline aşırı yoğunlaşıp kullanacağımız denetleyiciyi önemsemiyoruz kullanacağımız denetleyicinin iç yapısını çalışmasını özelliklerini öğrenmeyi sonraya bırakırız hatta hiç önemsemeyip işin programyazmakta bittiğini düşünürüz en büyük yanlışlardan biride budur. Genelde başlangıç için standart olarak pic16f84, pic16f628 ve pic16f877 mikro denetleyiciler önerilir benim araştırmalarıme ve önerilere göre başlanğıç için en uygun denetleyici pic16f628 – f84` üst versiyonu diyebiliriz

Entegrenin içyapısını giriş çıkış port bilgilerini özelliklerini inceleyip mantığı kavradığımızda programla dilini çözmemiz daha da kolay olacak anlayacağınız hem denetleyici hem de programlama dilini beraber öğrenmeli

Bir ara sevgili Kutay abim ile yaptığımız çalışmalarda pic16f628 datasheet dosyasını incelemiştik sigorta, port tanımlamaları bir çok bilgi datasheet dosyasında bulunuyordu o bilgiler ile yazılımdaki bir çok bölümü daha kolay çözmüştüm.

Anlayacağınız gereksiz detaylar ile kendi işimizi zorlaştırıyoruz programlayıcı, devre,assembly, c derken aylar geçiyor

Şuan düşünüyorum da yaklaşık 5 yıl önce yazdıklarımı uygulasaydım şuan pic programlama konusunda çok daha iyi bir yere gelmiş olabilirdim yinede az çok bir şeyler kapmışım o kadarda olsun :D keşke daha düzenli çalışabilseydim fakat dediğim gibi evdeki hesap tutmuyor :) umarım benim yaptığım hataları yapmazsınız daha kısa sürede pic programlama işini öğrenirsiniz herkese iyi programlamalar ;)

Sponsorlu Bağlantılar
  • aykut54

    Saygıya değer çok hürmetkar sevgili abim senin yaşadığın durumlardan bende nasibimi aldım artık sistemimi oturttum bir uygulamamı tam bitirmeden diğerine geçmiyorum glcd uygulamalarına başladı başlayalı başka bir devre yapmıyorum :)

    Yeni başlayanlar için buradaki bilgiler mükemmel bir sürü hocamız devre ve tecrübelerinden bahsetmeke.Yeni başlayan dostlarımız burdaki yazıdan yola çıkarak iyi işlerde bulunabilir bende bir ara deneme kartı alsam diye çok düşündüm ama ne gerek var deneme kartında olmayan malzemler bile elimde mevcut borda kur tak çalıştır. :)

    Son olarak 16F877 10 TL GLCD 128*64 25TL lM35dz 1.5tl www.320VOLT.com ile bilgilenmek ise paha biçilemez

    saygılarımla
    AYKUT

  • sami sağlık

    sayın üstadım pıc proğlamlama konusu hakkında birkaç zamandır araştırma içindeydim nereden başlıyayım diye,inananın yazınız benim için izleyeceğim yolu kolayca bulmama yardımcı oldu,tekrar tekrar okuyup faydalanacağım,benim gibi birçok kişiyede yol gösterici olacaktır,teşekkürler vede mutlu yıllar dilerm.

  • Ahmet

    Elektronik çok geniş ve her gün daha da genişleyen bir konu. Örnek olarak ben hala analog ve mixed signal da kaldım. Ben üniversitede iken 555 perakende olarak yeni çıkmıştı. :) Ne yazık ki her şeye tam olarak hakim olmak mümkün değil. Ama şu anda gelecek MCU larda gözüküyor.

    Çok masraf yapmadan PIC16F84 tabanlı üzerinde LED, ve 7-Segment olan 4-5 tane giriş cihazı(mikrofon, termistor, foto transistör, pot gibi) olan setlerin çok faydalı olduğunu düşünüyorum.

    Ben ögrenme kartını kendim yaptım PIC dahil 15 lira tutmadı. Aşağıdaki siteden faydalandım. Dersleri de çalışmaya ordan başladım. :) Tavsiye ederim:

    http://www.talkingelectronics.com/projects/PIC_LAB-1/PicLab1_intro-P1-top.html

    Programlayıcı olarak da seri port JDM yaptım. Fazlası ile işimi görüyor. JDM de 5 lira falan tuttu.

    Bu yaştan sonra bana fazla bile. :) Sevgilerim, saygılarımla…

  • ÜMİT

    Elinize sağlık hocam,yazılanlar deneyimlerden oluştuğu için daha hevesle okunur oluyor :) güzel şeyler paylaşmışsınız.. bende yaptıklarınızın okulunu okumaktayım.. bir şeye aklınız takılır ve bende biliyosam seve seve cevaplandırabilirim..

    ak_rap90@hotmail.com

  • osim

    Yazıyı ilk gördüğümde biraz garip gelmişti ama haklısınız 3 ay bocaladım elde bir şey yok var ama çok değil sizin yazdıklarınızı 2 haftada denedim şuan basit yazılımlar hazırlıyorum mantığı kaptım sayılır ete beyin hazırladığı dersler işimi fazlasıyla görecek gibi sanırım pic basic bana yeter teşekkürler

  • mresat42

    Merhaba, görüşler çok güzel.
    Bir elektronik öğretmeni olarak acizane bu işe başlayacaklara tavsiyem şu olacak.

    Gerçekten işi öğrenmek istiyorsak önce ASSEMBLY, ardında CCS C derim.

    Teşekkürler..

    • Evet öğrenciler için yani işi programlama olacak olan kişiler için assembly şart ama ben sonrasında “C” dilini öneririm :) taşınabilirlik konusunda esnek assemly ve c ikilisi ile yapılamayacak şey yoktur :) birde yeni nesil işlemciler kullanıldığınıda daha da iyi

  • Altan

    Paylaşımınız için teşekkürler, yaşadığınız handikapları birebir yaşadım ve söylediklerinizin virgülüne kadar katılıyorum. Ben önce jal ardından pic basic pro(yüzeysel) sonra da CCS C ye geçtim.CCS birçok projeyi kolayca hayata geçirmemi sağladı.Ancak hala öğrenme aşamasındayım diyebilirim. Tüm arkadaşlara başarılar dilerim.

  • jackie

    merhabalar paylaşımlarınız çok güzel. bende bu işe yeni başlayacağım “C” bilgim var ama “assembly” hakkında hiçbirşey bilmiyorum. “assembly” öğrenmeden “PIC” programlama yapabilirmiyim yoksa “assembly” de öğrenmem şart mı? yardımcı olursanız sevinirim. teşekkürler.

  • evet programlayabilirsniz picbasic, jal vs…. assembly şart değil

    ETE hocamız picbasic ile harika uygulamalar yapıyor internet üzerinde bir çok gelişmiş uygulama var hatta piyasada satılan bir çok cihazda assembly dışında yazılan programlar ile çalışan devreler var

  • ENGİN aygün

    Dediklerinize harfen katılıyorum sevgili hocam ,en son yorum 1 yıl önce yapılmış ama emin olun hala bu konuyu araştırıp merak eden binlerce insan var,bu tür yönlendirmeler bu işle uğraşacak insanlar için yol tabelası gibidir,bende bu işe (pic) 7 ay önce assembly dili ile başladım,hala sonunu getiremedim dümdüz bir yolda gidiyorum,ama inşallah assembly bitmek üzere , elin avrupalısının 1950 li yıllada böyle teknolojiler üretmiş olmasını görmek her sayfa geçişimde gözlerimi dolduruyor,biz birbirimizi yiyorduk onlar aya çıkartacak işlemciler yapıyorlardı,benimde arkadaşlara tavsiyem C evrensel bir dildir bu dili mutlaka öğrenin her microdenetleyici üreticisi bu dille uyumlu derleyicileri mutlaka piyasaya sürer,onun için pic e yeni başlayacaksanız C ile başlayın teferruata uzmanlaştıktan sonra girersiniz,assembly başlangç için biraz ağır kaçıyor ben hala uğraşıyorum bu dille uyuz oldum uğraşmaktan,bazen bitsede CCS C ye biran önce geçsem diyorum ,sonuçta ben bir makine mühendisiyim işin bukadar teferruatına girmeme gerek yok…..

  • Zekeriya Uçar

    özel ders veriyormusunuz?