Ana içeriğe atla

Pic Programlamaya Giriş -2 (Jal Kullanımı)

Pic Programlama’ya kaldığımız yerden devam ediyoruz. En son Pic Programlamaya Giriş 1 -Isis Kullanımını- anlatmıştık. Bugün Jal(Just Another Language) edit programı aracılığı ile pic’imize program atacağız ve flasör devremizin yanıp sönmesini sağlayacağız. JalEdit hakkında daha fazla bilgiyi JalTurk’den temin edebilirsiniz.
Jal programını C:\ dizinine kopyaladıktan sonra içerisindeki JalEdit.exe yi çalıştırıyoruz. Okulumuzda ki hocamız Bünyamin Boz’un bizde uygulamış olduğu eğitim tekniği ile devam edeceğiz ama önce biraz eğitim tekniğinden bahsedeyim. Hiç jaledit’te döngüler şöyle kurulur, koşullar böyle sağlanır diye bahsetmeyeceğiz. Zamanla örnekler üzerinden neyin ne yaptığını öğreneceğiz. İlk örneğimize geçelim.

Öncelikle ilk iki satırımız olmasa olmaz. Birinci satırda kullanacak olduğumuz pic’in modelini ve kristal’in kaç Mhz oldğunu belirliyoruz. İkinci satırda ise jal editin kütüphanesini çağırıyoruz.

include 16f84_4 -- Pic'imizi ve kaç Mhz ile çalıştığını belirledik
include jlib -- Kütüphanemizi çağırdık.
pin_b0_direction = output -- Pic üzerinde ki b0 pinini çıkış olarak belirledik
forever loop -- işlemlerimizin devamlı çalışabilmesi için sonsuz bir döngü içerisine aldık
pin_b0 = high -- b0 pinini high yaparak sinyal gönderiminde bulunduk
delay_1s -- ledimizin yanıp södüğünü görebilmek amacıyla 1 sn beklettik
pin_b0 = low -- b0 pinindeki sinyali keserek ledin sönmesini sağladık
delay_1s -- 1sn lik bir bekleme daha yaptık.
end loop -- Döngüyü sonlandırdık

Şimdi kodları biraz daha inceleyelim ilk iki satırın olmazsa olmazlardan olduğunu söylemiştik. 3. Satırda çıkış olarak b0 pinini kullanacağımızı belirttik. 4. satırda açıklamada da belirtildiği üzere işlemlerimizin devamlılığını sağlayabilmek için yani bir kere çalışıp durmaması için sonsuz bir döngü açtık. 5. Satırda b0 pinine sinyal göndererek bağlamış olduğumuz devre elemanın devreye girmesini sağladık. 6 ve 8. satırlarda devreye giren elemanı fark edebilmek için(ledin yanıp söndüğünü görmek istedik) 1sn’lik bekleme yaptık. 7. Satırda da b0 pinine gönderilen sinyali low komutu ile kestik ve böylece yanan ledi söndürmüş olduk. Ve en son döngümüzü kapattık.
Şimdi bu satırlar biraz uzun gelmiş olabilir. Jal’i yapanlar da öyle düşünmüş olmalıki daha kısa bir yolunu geliştirmişler. Aynı işlemi gerçekleştirebilmek için şu komut ta kullanılabilir.

include 16f84_4 -- Pic'imizi ve kaç Mhz ile çalıştığını belirledik
include jlib -- Kütüphanemizi çağırdık.
pin_b0_direction = output -- Pic üzerinde ki b0 pinini çıkış olarak belirledik
forever loop -- işlemlerimizin devamlı çalışabilmesi için sonsuz bir döngü içerisine aldık
pin_b0 ! = pin_b0 – bu satır b0 pinin tersini al demektir. Yani 1 ise 0 , 0 ise 1 yap demektir.
end loop – döngü sonlandırıldı.

Şimdi kod yazma işlemimiz de bittiğine göre kodları kontrol ettikten sonra pic’in alayacak olduğu hex diline çevirmemiz gerekiyor bunuda jal da tek bir buton yerine getiriyor.
Yukarıdaki resimde işaretli olan butona bir kere bastığımızda kodların yazım kurallarına doğru olup olmadığını kontrol eder ve eğer doğruysa bize en altta OK mesajını verir. Şayet bir yazım hatası varsa hata mesajının üzerine çift tıkladığınızda sizi direk hatalı kod satırına götürür. OK yazısını gördükten sonra resimdeki işaretlenen butona çift tıkladığınızda jal çalışmanızı kaydettiğiniz dosyanın yanına aynı isimle oluşturulmuş ve uzantısı hex olan yeni bir dosya daha oluşturacaktır. Bu hex dosyasını isis programındaki pic’imize sağ-sol tık combosuyla girip gösterdikten sonra devremizde bir hata yoksa ışığı görebilmemiz gerekiyor. Mesela bende bir hata çıktı bataryamı ters bağlamışım. Onu bir önceki konuda anlatılmış olan favori butonumla düzelttikten sonra ışığı görmeyi başarabildim.

Eğer derlemede bir sorun ile karşılaştıysanız her kodun arasında olması gereken boşlukları kontrol edin ve jlib yazılması gereken yere jlip yazmayın. Farklı bir hata ile karşılaşırsanız yorumlardan size cevap vermeye çalışırım. Fakat ben her ihtimale karşı Flaşör Devre Tasarımı ve Jal Dosyası’nı gönderiyorum. Sağlıcakla Kalın…

Yorumlar

Bu blogdaki popüler yayınlar

C# Görüntü işleme

İlk Olarak Burayı Okumalısınız Öncelikle görüntü işleme üzerine olan kodları birebir hepsini ben yazmadım bunun için google da “c# color tracking” diye bir arama gerçekleştirdim ve referans olarak http://www.uguryalcin.de/c/372 adresini belirledim. Konuya geçecek olursak, ilk önce birkaç kütüphane dosyasına ihtiyacınız olacak. örnek projede kütüphaneler mevcut bunlar kendinizi daha da ileri götürmek için. aforge kütüphanesini indirmek isteyebilirsiniz. Ekran görüntüsü. Ben aslına bakarsanız kod anlatma konusunda pek iyi değilim. Örnek projeyi indirin. Kodları silin aralarına bir şeyler eklemeye çalışın ve öğrenin. Şimdi yeni bir soru ile daha karşılaşıyoruz. Aynı anda birkaç görüntü almak istersek ne yapmalıyız. Aslında onunda cevabı basit ama biraz da sizin araştırma yapıp kendi blogunuzda yayınlamanız için onu size bırakıyorum. Yayınlamış olduğunuz yazıyı yorumlardan paylaşırsanız çok mutlu olurum. Sağlıcakla kalın :) using System; using System.Collections.G...

C# pixel, görüntü işleme

İlk olarak Görüntü İşleme ile ilgili olan yazıyı okumanızı tavsiye edilir. http://yzgrafik.ege.edu.tr/~tekrei/dosyalar/sunum/gi.pdf bu dökümanın 25.sayfasındaki formülü kullanarak siyah beyaz bir resim yapalım dedim. Ekran görüntüsü aşağıdaki gibi oldu. Kaynak kodda şu şekilde ya da c# Pixel İşleme using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace pixelIsleme { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Bitmap PixelTara( Bitmap Goruntu) { Bitmap yeniGoruntu = new Bitmap (Goruntu.Width, Goruntu.Height); //Bitmap sınıfımızı oluşturduk. for ( int i = 0; i < Goruntu.Width; i++) //resmi yatay olarak taramak için { for ( int j...

C# İle Ping Atma

Evet arkadaşlar uzun zamandan beri blog’ta bir şeyler paylaşma sıkıntısı yaşıyorum. Bende en iyisi eski çalışmalarımı bir bir dökeyim dedim. Öncelikle size birazdan anlatacağım programın yapım hikayesini anlatayım. Bildiğiniz üzere bir zamana kadar Türk Telekom tek internet sağlayıcısıydı sonra d-smile çıktı, daha sonrada biri.net kendisini gösterdi… Biz internete bağlandığımız zaman bunların üçü de vardı aslında ama bulunduğumuz yer itibari ile –okuduğumuz yer küçük bir kasaba 7300 nüfuslu- Türk Telekom’u seçtik, tabi bir ara keşke bağlatmasaydık da dedik ama artık her şey için çok geçti. İnternetimiz bir geliyor, bir gidiyor sonra hiç gelmiyordu. Uzun telefon görüşmeleri ve biraz tehditten sonra zar zor bir teknik servis gönderebildiler. Tamam hiçbir değişiklik olmamıştı ama en azından bulunduğumuz yerde ki bayii müdürü gibi hata sizden kaynaklanıyor dememişti. Hatlarda parazit mi varmış ne gene düzelmedi fakat gel zaman git zaman internetin kesilmeden bağlı kalma süresi 5-6 saatlere...