Ana içeriğe atla

Jal Örnekleri-Pic Programlama

Maalesef bu vize sınavları beni benden aldı götürdü. Her gün yeni bir sınava giriyoruz yarın ki sınav microişlemciler olduğu için en iyisi bunu bloga yazı olarak değerlendireyim dedim. Bugun microişlemciler de jal örneklerine devam edeceğiz bugüne kadar işlediğimiz bütün örnekneleri yazacağım onun için bir müddet microlardan ses soluk çıkmaya bilir haberiniz olsun. Evet artık başlasak iyi olur…

En son ışığı görmüştük(Flaşör devresinden bahsediyorum). Şimdi gene ışığı göreceğiz hatta hep ışığı göreceğiz ama farklı şekillerde biraz delay kullanımından bahsedelim bir önceki örneğimizde delay_1s yazmıştık ve bununla bir saniyelik bir bekleme yapmıştık. ama 1,2sn beklemek istersek bunu jal dilinde farklı bir şekilde yazmamız gerekiyor. bunun için aşağıdaki örneğe bakacağız ve sonra küçük bir açıklama yapacağız.

include 16f84_4 -- Pic'imizi ve kaç Mhz ile çalıştığını belirledik
include jlib -- Kütüphanemizi çağırdık.
pin_b1_direction = output -- Pic üzerinde ki b1 pinini çıkış olarak belirledik
forever loop -- işlemlerimizin devamlı çalışabilmesi için sonsuz bir döngü içerisine aldık
pin_b1 = high -- b1 pinini high yaparak sinyal gönderiminde bulunduk
delay_100ms(12) – 1,2 saniye bekler
pin_b1 = low –b1 pinini low yaptık.
Delay_100ms(25) – 2,5 saniye bekler
end loop

Flaşör Devre ve Programı
evet yukarıda ki komutta tahmin ettiğiniz üzere delay_100ms normalde 100 milisaniye bekler fakat bizim parantezler içine yazığımız sayı kadar tekrar eder yani delay_100ms(12) demek 100ms*12 demektir. Buda 1,2 saniye yapacaktır. Bu basit konudan sonra şimdi yeni bir şeyler öğrenmenin zamanı oda pinin birisini giriş yapmaktan ibaret bir sonraki örneğimizde programımıza bir buton bağlayacağız ve butona basıldığı zaman ışığımız yanıp sönecek.
Yukarıda resimde buton bağlantımızı nasıl gerçekleştirdiğimizi görüyoruz. Bağlantı noktalarını sarımtırak olarak işaretledim. Size bir ip ucu vereyim hazır aklıma gelmişken şimdi bu standart bağlantıların olduğu dosyanızı bir kenarda tutun diğer çalışmalarınızda o dosyayı açar farklı kaydet ile kaydedersiniz ben ve birçok arkadaşım öyle yapıyor çok rahat oluyor. Bu ipucunu verdikten sonra biraz devre mantığından bahsedelim. Şuan devremizde a0 pinine sürekli 1 değeri gönderilmektedir. Butona bastığımızda devre kısa olan yolu yani topraklamaya giden kısma yönelecektir ve a0 pinine giden değer 0 olacaktır. Kısacası şöyle ki biz devrede butona bastığımızda a0 pini 0(sıfır) olacaktır. onun için jal da bu devrenin programını yazarken onu dikkate alarak yazacağız. Bir önce ki konuda portları burada daha detaylı anlatılacağı söylenmiştik tek bir detayımız var eğer a portundan bir pinini çıkış olarak gösterdiyseniz diğer pinler de çıkış olmak zorundadır. Yani a0 giriş a1 çıkış olma gibi durum söz konusu değildir. A portu ya giriş olacaktır ya da çıkış. Jal programımıza geçelim ve kodlarımızı yazalım

include 16f84_4
include jlib
pin_b1_direction = output --b1 pinini çıkış olarak belirttik
pin_a0_direction = input --a0 pinini giriş olarak belirttik
forever loop
if
pin_a0 == low thena0 pinine gelen değeri kontrol ediyoruz. Low mu high mı diye
pin_b1 = ! pin_b1
delay_1s
end ifif blogunu kapattık
end loop


Fark ettiğiniz gibi veri girişi olarak kullanacak olduğumuz pinleri input komutu ile belirliyoruz. Ve yeni bir şey if komutu if komutu ile a0 pinine gelen değeri sürekli kontrol altında tutuyoruz. IF bloğunun Türkçesi şöyle olabilir. Eğer a0 pini sıfıra(0) eşit ise b1 pinin tersini al ve yeni değer olarak onu kabul et. Bir saniye bekle endi f ile bloğu bitir. Ve tabi sonra end loop gördüğü için direk forever loop a gidecek ve buton hala basılı ise aynı işlemleri tekrarlayacaktır. Bu devrenin tasarı dosyasını ve jal komutlarını JAL ORNEK-1 den indirebilirsiniz.

Yorumlar

İPEK dedi ki…
Birkancığım, gerçekten yorumsuzum çünkü hiçbi fikrim yok! :D Yine de bir şeyler öğrenmek;en azından "hımm böyle de bişey varmış" demek güzel.Sevgiyle kal...

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