Thread overview
Pickit2 ve ICSP Nasıl?
Sep 04, 2013
huseyin
Sep 05, 2013
erdem
Sep 13, 2013
huseyin
Sep 13, 2013
Salih Dinçer
Sep 14, 2013
erdem
Sep 14, 2013
erdem
September 04, 2013

Merhaba arkadaşlar elektroniğe olan merakım gittikçe artıyor ve elektronik bilgisi olanlardan da yardım almak zorunda kalıyorum zamanla.
Benim elimde programlayıcı olarak PICKIT2 var ve bunun Zif soket dışında ICSP özelliği de mevcut ancak ben araştırdım ve bir kaynak bulamadım ICSP ile nasıl programlarız taktığımız yerden çıkartmadan.
Yardımcı olur musunuz?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 05, 2013

Merhaba,

http://farm6.staticflickr.com/5455/9681445334_1b6f92818b_c.jpg

Devre üzerinde seri programlama için basitçe yukarıdaki devreyi kullanabilirsiniz. Pic Kit2'nin uçlarını deneme kartına takmak için 16 uçlu bir bağlantı başlığından 5-6 tanesini kesip, kargaburun ile ucunu bükerek kullanabilirsiniz.

http://www.adafruit.com/images/medium/extralongmaleheadercomp_MED.jpg

Bir de özellikle elektroniğe yeni başlayan arkadaşlar için ben Arduino öneriyorum. PIC gibi mikro denetleyiciler seri üretim için, profesyonel amaçlarla düşünülebilir.

Söylediklerimden Arduino ile çok kaliteli profesyonel, işler yapılamaz anlamı çıkmasın. Örneğin bu arkadaş büyük bir seranın tüm kontrol yazılımını Arduino ile programlamış.

http://www.youtube.com/watch?v=sgHSzngDoDA

Zaten Arduino da Atmel firmasının geliştirdiği AVR mikro denetleyicisini kullanır.

Mikro işlemcilerle çalışmanın bir zorluğu C ya da Assembly dili ile programlamanız gerekiyor. En basitinden bir LCD ekran kontrolü için kodu kendiniz yazmanız gerekiyor. Hele bir de bellek kartı gibi donanıma erişmeniz gerektiğinde işler iyice karışabiliyor.

Ama Arduino gibi bir elektronik geliştirme havuzu kullanırsanız yapacağınız işe yoğunlaşıp daha az kodla ilgileniyorsunuz. Örneğin bellek kartına yazmak için FAT dosya sisteminin ne olduğundan, nasıl çalıştığını gibi detayları öğrenmek gerekmiyor.

Bu tekniği biz aslında programlamada da kullanıyoruz. Adına sarma ("encapsulation") , veri gizleme diyoruz. Örneğin bir arabayı sürmek için motorun nasıl çalıştığını bilmeniz gerekmez.

Aynı teknikler elektronik için de geçerli. İşlemsel yükselteci düşünürsek, bir işlemsel yükseltecin iç yapısı aslında oldukça karmaşıktır. Ama işlemsel yükselteci kullanmak için işlemsel yükseltecin iç yapısını bilmemiz gerekmez.

Buna da ("virtual abstraction") deniyor ama bunun için aklıma Türkçe bir karşılık gelmedi. Belki Ali bey biliyordur.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 13, 2013

Çok teşekkür ederim arduino önerinizi ben de düşünmüştüm ancak biraz zor olmalı ki benim bu işe karşı biraz ilgim artsın. Aslında bunun için sistem programlama ile ilgileniyorum. Mesel C# gibi programlama dillerinde kütüphaneler hazır ve çok geniştir her şeyi tek fonksiyon ile yazabilirsiniz sizi geliştirmezler benim düşüncem bu :)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 13, 2013

Alıntı (erdem:1378401036):

>

Zaten Arduino da Atmel firmasının geliştirdiği AVR mikro denetleyicisini kullanır.

Elimde sanırım 1 adet Atmel var ve kendisine 8051 mimarisinden dolayı çok sempati duyuyordum. Ama zamanımda çok yaygın olmadığı için hiç kullanmadım. Gerçi çoğu yabancı üniversitede bitirme ödevlerinde kullanılıyordu. PIC'in sonradan çıkan C uyumlu karakter setini gördükten sonra da kalan şevkim bir balon gibi patladı...:)

Alıntı (erdem:1378401036):

>

Mikro işlemcilerle çalışmanın bir zorluğu C ya da Assembly dili ile programlamanız gerekiyor. En basitinden bir LCD ekran kontrolü için kodu kendiniz yazmanız gerekiyor. Hele bir de bellek kartı gibi donanıma erişmeniz gerektiğinde işler iyice karışabiliyor.

Ama Arduino gibi bir elektronik geliştirme havuzu kullanırsanız yapacağınız işe yoğunlaşıp daha az kodla ilgileniyorsunuz. Örneğin bellek kartına yazmak için FAT dosya sisteminin ne olduğundan, nasıl çalıştığını gibi detayları öğrenmek gerekmiyor.

Kit kullanmak işleri basitleştiriyor. Eskinde PIC Basic Stamp'lar vardı ve belki hala satıyordur. Tümdevre (integrated) boyutlarında ama içerdiği yazılım destekleri ile işleri kolaylaştırıcı nitelikteler. Sonradan çıkanlar ise çok daha fazla gelecek vaat ediyorlar. Adeta bir bilgisayar olup çıktılar ama henüz tek bir tecrübem olmadı.

Yine de şart değil çünkü assembly'de bile kod yazsanız hazır kütüphaneler mevcut. Tek yapmanız gereken kodunuza eklemek ve ilgili alt programa dallanmak. Bu işe yeni başlayanlar, donanımı tanımak için mutlaka hazır şeylerden uzak durmalı. Sonra zaten tercihler en mantıklıya doğru kayacaktır. Gerçi uzmanlar bile, zamandan kazanmak için bu kitleri bir oyuncak gibi kullandıklarını görüyorum. Ancak pek azı projelerini bunlarla teslim ediyor. Genelde en güvenilir, kaynakları en iyi kullanan ve hızlı olan tercih ediliyor. Proje basitse ve vakit darsa kodu yazıp işi hazır kitlerle de teslim ediyorlar ama yüzdesi hakkımda bilgim yok.

Alıntı (erdem:1378401036):

>

Buna da ("virtual abstraction") deniyor ama bunun için aklıma Türkçe bir karşılık gelmedi. Belki Ali bey biliyordur.

Google Translate çevirisi şöyle: Sanal Soyutlama

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 14, 2013

Alıntı (huseyin325325):

>

Çok teşekkür ederim arduino önerinizi ben de düşünmüştüm ancak biraz zor olmalı ki benim bu işe karşı biraz ilgim artsın.

Bence kullanılan dil programcıya özgürlük getirmelidir. Yani bir sorunu çözmeye çalışırken kullandığımız dilin olanaklarını o çözüme uydurmak için çabalamamız gerekmesin.

Sistem programlama dilleri son derece verimli ama bir o kadar da tehlikeli olanaklar sunar: denetimsiz işaretçiler, programcının elle yapabildiği bellek denetimi, ve en dikkatli tasarımları bile mahvedebilecek tür dönüşümleri.

O yüzden yapılan işe göre dil seçiminin daha yerinde olduğunu düşünüyorum. Örneğin grafik programlamayla uğraşıyorsak C ya da assembly kullanmak bana biraz angarya gibi geliyor. Onun yerine C++ ya D tercih ederim.

Hatta benim arkadaşlara tavsiyem kendi amaçlarını belirleyip buna uygun hangi kartı kullanabileceklerini bulmaları. Örneğin çizgi izleyen bir robot yapmak için Arduino Uno gibi bir kart kullanabilirken, görüntü işleme gibi bir iş için Rasperry Pi gibi bir kart kullanmanız gerekir. Burada “Arduino mu Rasperry Pi mi” gibi bir soru anlamsız hale geliyor. Çünkü her ikisinin de sınıfları ve hedefleri farklı.

Zorluk biraz göreli bir kavram. Benim kasdettiğim evet programlama anlamında Arduino gibi kartlar işimizi kolaylaştırıyor. Ama elektronik konusunda değil.

Bana da örneğin bu kitaptaki (http://www.amazon.com/Foundations-Electronic-Circuits-Kaufmann-Architecture/dp/1558607358) bazı sorular hala zor geliyor :)

Hatta önceleri elektronikçilerin olduğu forumları takip ediyordum. Bu sorulardan bir tanesini sorun 10 taneden 1 tane çıkar bu soruları çözecek elektronikçi. Hatta bu sorulardan bazıları burada (http://temelelektronik.net/sorular/questions) var. Eğer çevrenizde elektronik mühendisi arkadaşlarınız varsa sorabilirsiniz.

Bana programlama kısmıyla vakit kaybetmek yerine kalan zamanda yüksek matematik öğrenmek ya da güç elektroniği gibi daha ileri düzey konuları çalışmak daha mantıklı geliyor. O yüzden bende böyle yapıyorum ;-)

Bunlar tabi sadece benim kişisel düşüncelerim.

Alıntı (Salih Dinçer):

>

Alıntı (erdem:1378401036):

>

Buna da ("virtual abstraction") deniyor ama bunun için aklıma Türkçe bir karşılık gelmedi. Belki Ali bey biliyordur.

Google Translate çevirisi şöyle: Sanal Soyutlama

Salihcim bu kelimeyi şurada kullanıyor. Ben hala uygun bir karşılık bulamadım.

https://www.youtube.com/watch?v=cR8XukMGdjk
https://www.youtube.com/watch?v=-lb4ncSgkxk
https://www.youtube.com/watch?v=-I9qkECjpvo
https://www.youtube.com/watch?v=vLuFuBK5B-g
https://www.youtube.com/watch?v=4UZ67XfujLA

Hatta programcılıkta kullanılan ("abstraction") soyutlama yerine bence sarma daha uygun bir karşılık. Bir sınıfın çalışma detaylarını, özel veri yapılarını gizleme anlamında.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 14, 2013

Alıntı (acehreli):

>

Şimdilik şunları kullanıyor gibiyiz:

  • soyutlama: abstraction

  • sarma: encapsulation

Yakın kavramlar olsalar da farklı sözcüklerin çevirileri.

Evet haklısınız. Ben karıştırmışım.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 14, 2013

Alıntı (erdem):

>

soyutlama yerine bence sarma daha uygun bir karşılık. Bir sınıfın çalışma detaylarını, özel veri yapılarını gizleme anlamında.

Şimdilik şunları kullanıyor gibiyiz:

  • soyutlama: abstraction

  • sarma: encapsulation

Yakın kavramlar olsalar da farklı sözcüklerin çevirileri.

Programcılıktaki abstraction, özyilenemede de gördüğümüz kavram: Bana bir Motor nesnesi verin, ben onu kullanarak arabayı ilerleteyim. Benzinli, eletrikli, vs. farketmez. Dolayısıyla, ben gerçek varlığı "motor" soyutlaması ile kullanıyorum.

Encapsulation ise bazı nesneleri bir araya getirip onlarla ilgili işlemleri üye işlevler ile sunmak. Doğru, üye işlevler sanal olunca encapsulation da abstraction sağlıyor ama yine de fark var.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]