Nem Alarm

Başlatan onurinci, 02 Eylül 2013, 13:15:02

onurinci

Hocam saygılar bir klima'dan söktüğümüz nem sensoru ile uğraşıyorum.yazılım prensipte çalıştı,

bağıl nem 5'nci led'ten sonra röle çektiriyor,buda çalıştı fakat röle çekik kalmıyor flash etkisi yapıyor,

niye böyle olduğunda tıkandık değerli görüşlerinize bıraktık

saygılar..

http://s3.dosya.tc/server10/xkAqSj/Humidity.rar.html

Hattuşa

slm onurinci usta;
yazılımda ki hatan bana göre goster alt rutinin içinde porta=0 ve POrtb =0 yapmışsın, aslında diğer yanan ledlerde flash etkisi yapıyor ama çok hızlı olduğu için gözükmüyor, o sebeble porta ve portb yi ana programa girmeden önce birkez sıfırlaman yeterli, yok o satırları eklemezsem adc değeri düştüğünde ledler sönmüyor dersen o zaman bütün if'lerin içerisinde yanmsı ve sönmesi gereken ledleri tek tek yazman gerekir. aslında case komutu ile bu işi daha kolay yapabilirdiniz ama neyse yada her if' içerisinde
portb =00000011 gibi durumunu tek tek verebilirdiniz en sağlıklısı bu olurdu sanırım tabi yazdığınız koda göre....

ete

#2
Bir porta bağlı olan röle led vs gibi elemanlar var iken portun tamamını sıfırlamak hata oluyor tabiiki. Böylece aktif olanlarıda kapatmış oluyorsun. Buda görsel olarak flash etkisi yaratmaktadır.
Yapılması gereken kapatırken yalnızca gerekli olan pinleri LOW'a çekmek gerekir.
Bunun için Önce Portu Okur sonra onun LOW olması gereken pinlerini sıfır ile AND işlemine tabi tutarak onları sıfırlarsın. Bu esnada diğer pinleri 1 ile AND yaparsınki aktif olanlar bozulmasın.
Birde devrelerinizi mantık çerçevesi içinde kurunuz.
Hiç bir zaman bir pic pini röleyi direk süremez. Çünki enfazla 20 ma akım verir. Buda röleyi çektirmek için yeterli değildir. O halde ne kullanmamız gerekir bir Transistör tabiiki. Bu nedenle devreni olması gerektiği şekilde düzenleyin. Yoksa abuk subuk çalışır seni uğraştırır.
Gerek devre ve gerekse programı yeniden düzenleyip ilişikte verdim.

Ete

onurinci

Hocam klavyenize sağlık asıl devreyede taktım gayet güzel çalıştı. saygılar.

ProTR    @@ demiş   (her if' içerisinde
portb =00000011 gibi durumunu tek tek verebilirdiniz en sağlıklısı bu olurdu sanırım tabi yazdığınız koda göre....)   bu hiç aklıma gelmedi sağolun..

Powered by EzPortal