Forum: Diğer Konular RSS
Pickit2 ve ICSP Nasıl?
Avatar
huseyin #1
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Pickit2 ve ICSP Nasıl?
   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?
Huseyin
erdem (Moderatör) #2
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Merhaba,

[Resim: 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.

[Resim: 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.
Avatar
huseyin #3
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ç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 :)
Huseyin
Avatar
Salih Dinçer #4
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #2
erdem on 2013-09-05, 11:10:
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ı...:)

erdem on 2013-09-05, 11:10:
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.

erdem on 2013-09-05, 11:10:
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
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
erdem (Moderatör) #5
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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 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 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.

Salih Dinçer:
erdem on 2013-09-05, 11:10:
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.
acehreli (Moderatör) #6
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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
erdem (Moderatör) #7
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
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.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-20, 01:11:57 (UTC -08:00)