1. sayfa (Toplam 1 sayfa)

PIC Programlama

MesajGönderilme zamanı: 19 Mar 2017, 23:54
asymptote
Merhaba arkadaşlar. Bir süredir aklımda olan ama zaman darlığından sürekli ertelemek zorunda kaldığım yeni bir hobiye yelken açmanın arefesindeyim.. :) Öncelikle 16f84 ile birkaç led yakıp söndürdükten sonra kendi watch winder'ımı yapmak gibi daha ciddi projelere yönelmek istiyorum. Daha yolun başında bile değilim. Nasıl başlamalı, nelere dikkat etmeli? Internette sürüyle kaynak ve bilgi mevcut fakat sağlıklı zayıflama başlığında olduğu gibi işi bilenlerden rafine bilgi almak istiyorum. Örneğin programmer olarak yolun başında pickit3 idare eder mi yoksa daha iyi bir şey almalı mıyım?

Bu başlığı yeşillendirirsek çok güzel olur.. :thumbup:

Re: PIC Programlama

MesajGönderilme zamanı: 20 Mar 2017, 00:27
Ground
Bu tarz hobilere başlarken işin ne kadar içinde olduğunuz bilgisi çok önemli.

Elektronikteki "Hello World" led yakıp söndürmektir. Bu hedef basit gibi görünsede ciddi anlamda yola sokan bir adım. Hangi işlemci(denetleyici demek daha doğru) yi hangi derleyicide derleyip , hangi programlayıcıyla programlayacağınız gibi sorunları geçmişsiniz demektir.

Hangi programlama dilleri biliyorsunuz örneğin c , c++ tarzı dillere aşinaysanız bir çok mikrodenetleyiciyi programlayabilirsiniz.

İşin özü assembler olmakla birlikte günümüzde çok gereksiz kalmıştır. Fakat bu işi profesyonel olarak yapanlar assemblerla direk program yazmasalarda , yine de bilirler. Kullanılan denetleyiciye en yakın dil bu dur. Hatta bazen farklı diller ile yazılan yazılımlarda assembler macrolar ile kilit sıkıntılar aşılabilmektedir. yazılım dili açısından c (ansi) en çok kullanılan dildir.

Mikrodenetleyici seçimi bu işte önemli bir faktördür. Eğer elektronik alt yapınız var ise PIC mikrodenetleyiciler ile kendi devrelerinizi kolaylıkla kurabilirsiniz. Yok ise ; Bu işler için biçilmiş kaftan arduino dur. Maker hareketi tüm dünya da ciddi anlamda yayıldı yayılıyor. Yazılım biliyorsanız elektronik hardware ile çok uğraşmadan sonuca ulaşacak çalışmaları yapabilirsiniz. Çok iyi bir marketing kampanyası ile dünyaya yayıldı. Bir çok kişiyi hardware dünyasına bulaştırmadan bir şeyler üretmesini ve proje ortaya çıkarmasını sağladı.

Watch winder yapımı için PICmicro ya da arduino olması pek farketmiyor. Yapacağınız işlem için basit denetleyiciler yeterli.

PIC den yola çıkarsanız size programlayıcı yollarım (PICkit2) bu size fazlasıyla yeterli.

Kitap olarak Altaş yayınları başlangıç seviyesinde iyi kaynaktır.

Ama her projede olduğu gibi öncelikle hedefiniz için bazı seçimler yapmalısınız.
Örneğin;
1. Sırada kullanacağınız motor seçimi gelmektedir. Seçeceğiniz motor tipi önemlidir. Bu sayede denetleyici ile motor u nasıl süreceğinizi belirlersiniz.
2. İnsan makine arayüzü seçimi,
Watch winder ların kontrolü ya da çalışma profilini nasıl seçeceğinize karar vermeniz gerekmektedir.
Örneğin;
Basit kontrol olarak Analog bir potansiyometre ile hız kontrolü yapabilirsiniz ya da bir menü tuş takımı ile LCD kontrolü yapabilirsiniz ve ya Dokunmatik Grafik LCD (Rezistif kalem ) ile seçimleri yapabilirsiniz. En ileri seviyede de Dokunmatik TFT LCD ler (Kapasitif kalem) ile cep telefonundaki gibi menüler oluşturup kontrol sağlayabilirsiniz.

Çok kafanızı karıştırmayayım. Temel konuya dönersek ilk seçim;

PICmicro mu ?Arduino mu?


Tapatalk kullanarak iPhone aracılığıyla gönderildi

Re: PIC Programlama

MesajGönderilme zamanı: 20 Mar 2017, 01:02
asymptote
İşte, aradığım rafine bilgi geldi.. :) :thumbup: PIC mi Arduino mu sorusunu çok düşündüm Ground. Anladığım kadarıyla Arduino, motorun ve aktarma organlarının nasıl çalıştığını bilmek zorunda olmadan yalnızca gaza basıp arabayı sürmek gibi. Ben motorun nasıl çalıştığını bilmek istiyorum. O yüzden (zaman alacak, biliyorum) ama PIC. Elektronik bilgim çok ileri düzey değil, ancak temel konuları biliyorum.. Programlama konusuna gelince: Mikrodenetleyici kütüphanelerine elbette hakim degilim ancak ANSI C biliyorum. Aslında burda da kafama takılan bir soru var: C prosedürel bir dil ve bildiğim kadarıyla multi-thread gerektiren işleri kodlayamiyorsunuz. Peki mikrodenetleyici aynı anda birden çok görevi başlatması gereken durumlarda (örneğin bir helikopterin hem kuyruk hem tepe pervanesinin çalışması gerektiği durumda) bunu mikrodenetleyiciye nasıl kodluyoruz?..

Winder içinse henüz çok erken. İş oraya gelince ayrıntıları tekrar konuşuruz.. :geek: :thumbup:

Re: PIC Programlama

MesajGönderilme zamanı: 20 Mar 2017, 01:58
Ground
Aynı anda multitask işlemler yapabilme mikrodenetleyicide teorik.

Mikrodenetleyiciler yukarıdan aşağı akışa göre işlemlerini yapar. Hız ve programın boyutuna göre işlemlerin hızı artar.

Söylediğin olay işlemcilerde (hızlı olanlarda diyim) RTOS dediğimiz işletim sistemleri ile yapılıyor.

Ücretli olan RTOS işletim sistemleri de var. Ücretsiz olanlar da. Ya da kendi RTOS unu yani işletim sistemini yazman da olabilir. İleri endüstriyel ya da askeri işlerde bu işlerde feedback alınmış ücretli (lisanslı) RTOS lar kullanılabiliyor.

Gerçekten multitask işlemler için FPGA dediğimiz araçlar kullanılır. Bunlarda birbirinden bağımsız algoritmalar koşturabilir ve bunları pinlere bağlayabilirsiniz. Ama bu çok ileri bir konu.

İşlemci hızları çok yükseldiği için teoriye yakın işlemler yapabilirsiniz.

Sorduğunuz soruya çok rafine bir kelime söyleyeyim "interrupt" :)

Başlangıç için sıralı işlemlerle başlamanızda yarar var kafanızı çok karıştırmadan.

Led yakıp söndürdükten sonra bunu 8 ledi karaşimsek gibi yakıp söndürün iyi bir aşama olacaktır.

:champ:


Tapatalk kullanarak iPhone aracılığıyla gönderildi

Re: PIC Programlama

MesajGönderilme zamanı: 20 Mar 2017, 02:05
asymptote
Teşekkürler :champ: Farklı atraksiyonlar yapacağız artık.. :)

Re: PIC Programlama

MesajGönderilme zamanı: 20 Mar 2017, 11:56
tugberk
Hobi olarak istediğinizin farkındayım, ancak PIC gibi mikrodenetleyiciler yerine kesinlikle Arduino tarzı programlanabilir şeylere yönelmeni öneririm. Özellikle başka şeyler de geliştirmek istersen, çünkü günümüz artık IoT adı verdiğimiz mevzuya giriş yaptığı için, ileriye dönük projelerde çok daha mantıklı olacaktır programlanabilir kitler.

Re: PIC Programlama

MesajGönderilme zamanı: 21 Mar 2017, 14:59
asymptote
Önerin için teşekkür ederim tugberk, yalnız artık çok geç.. :)
1. parti mallar geldi, ikincisi yokda.. :geek:
Resim
Resim

Re: PIC Programlama

MesajGönderilme zamanı: 23 Mar 2017, 14:04
asymptote
2. parti mallar da geldi. Artık vakit bulabilirsem hafta sonu ledlerimle dünyaya merhaba diyeceğim.. :)
Resim