otomatik çiçek sulama projesi bazı sorunlar var lütfen yardım edin!

Başlatan Mucit23, 30 Haziran 2010, 13:09:25

ete

Ben sensörden kaynaklandığını sanıyorum.
Benim bir projem vardı Meteorolojik Monitör isimli.
Bu projeyi bir arakdaş tez olark hazırladı ve İstanbul'da bulunan bir test kuruluşuna vererek test sertifikası aldı.
Bu sertifikaya bakarsan SHT-11 ölçümlerinin son derece hassas bir şekilde olduğu belirtilmdi.
Sertifikanın bir kopyası elimde. Anlayacağın SHT-11 sensörününde doğruluğundan şüphe edemeyiz.
Ancak sensörler yan yana bile dursa ikisi aynı yerde durmamış oluyorlar. Mutlaka sensörler arasında 1 derecelik fark olabiliyor. Bu fark artı eksi yönde olabilir. Bazen olmuyor ama genelde oluyor maalesef. İki DS18B20 sensörünüde aynı konumda tutmama rağmen aralarında fark görmüş idim. Bana kalırsa 1 derecelik farkları fark olarak görmeyin. 2 derecelik fark şayet sürekli kalıyorsa ortada bir hata vardır diye şüphelenin. Arada sırada 2 derecelik farklar oluşuyorsa onuda göz ardı ediniz.

Kolay Gelsin
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

anbladım hocam simülasyonda dikkatimi çektide nedense benim yaptığım saatli ve dereceli uygulamalarda her zaman ds 18b20 programı çok yoruyor hatırlarsanız otomatik çiçek sulama projemde saat çok yavaş ilerliyordu programda ds18b20 yi iptal edince saat normale dönde aynı şey kullaçka makinasındada öyle oldu ama bu durumları artık pek dikkate almıyorum çünkü gerçekte herşey normal şekilde çalışıyor gerçi otomatik çiçek sulama projesini daha hayata geçiremedim ama emini oda sorunsuz çalışacaktır.
Bişey daha sormak istiyorum şu WİRE sistemi hakkında tek hatla iletişim
Birden fazla snsörü aynı hatta bağlayarak ölçüm yapılıyor.Benim bu konuda hiç bir bilgim yok acaba sizin bu konuda bi uygulamanız ve örnek kodunuz varmı

Bu arada Ramazanı Şerif'iniz hayırlı olsun

Mucit23

merhabalar ete hocam sizden bi konuda fikir almak istiyorum.şu şifreli kilitler hakkında
4x3 matrix tuş takımı kullanılan bi şifreli kilit sisteminde 4iyelimki şifre 4 ile 8 hane arasında olması gerekiyor.
tuş takımından gelen tuş bilgilerini nasıl tek bir sayıda toplarız.eğer şifre olarak 8 haneli bir şifre girlirse bunu tek bir sayıda toplayamayız şifreyi ikiye bölmek gerekir iki word değişkeninde tutulması gerekir acaba sizin bu tür bi şifreli kilit uygulamanız varmı.acaba bu işin asıl mantığı nedir yoksa sayıları toplamak yeirne basılan her tuşu ayrı ayrı bir değişkendemi sakmak daha iyi olur ne tavsiye edersiniz

ete

Bu tür işlerde genelde ben 3 haneyi bir değişkene veririm.
Örnekle açıklamak daha iyi olacak sanırım. Diyelimki, şifren 63.541.873 şeklinde bir sayı olsun.
Girilen değerler sırası ile,
3 - 7 - 8 bu üçü bir değişkene verilecek, program 3 hanenin girilip girilmediğine bakacak girilmiş ise bir sonraki değişkene atlayacak.
sonra ikinci değişkene 1-4-5 rakamları verilecek
üçüncü değişkene ise 3 ve 6 sayları verilecek.
Bu şekilde 3 adet WORD değişkeni ile 8 hatta 9 haneli sayıları bir araya getirmek mümkün.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

Merhabalar ete hocam
Hocam dediklerinizi çok iyi anladım.Kendi yaptığım bi sistemde kullandım pin kodu gibi 4 haneli bi giriş şifresi yapmam gerekiyordu.Burada kullandım çok iyi oldu.

Hocam aklıma şöyle bi uygulama geldi sizden fikir almak istiyorum.
Hocam sizin led displayli saat ve termomtere devreleriniz çok iyi çalışıyor.1,5 sene önce yaptığım 10cm displayli saat ve termometreyi hala evimde kulllanıyorum ve hiçbir sorun yok.Bunun için teşekkür ediyorum size
benim yapmayı düşündüğüm şey ise 8 adet 74hc595 ile 60 adet led sürmek 60 adet led saniyeyi temsil edecek saniye ile birlikte bu ledler artacak saniye sıfırlanınca tüm ledler sönüp tekrar baştan başlıyacak.
Programsal olarak sizden fikir almak istiyorum
acaba 74 hc 595 lere ledler ile ilgili bilgiyi her saniye değerini ayrı ayrı değerlendirerekmi göndereyim.
yani eğer saniye 1 ise verı=1
saniye 2 ise verı=3
saniye 3 ise verı=xx ..... saniye 60 ise ver=xx gibi

aslında bu hiçte iyi bi yöntem değil zaten örnek olarak verdim acaba bunu yapmanın daha iyi bir yolu varmıdır

ete

Aslında DS1307 kullanırsan işin çok kolay gibi geliyor bana.
595 leri seri bir birine bağladığında ilkinin Data girişini HIGH yapıp sonra DS1307 nin frekans çıkışınıda 1 Hz ye ayarlayıp bu çıkışı 595 lerin CLK girişine verirsen al sana otomatik bir sistem. Her 1 sn yede bir ledler bir ilerler. Teorik olarak bu çalışır denemek gerekir.

Yok DS1307 kullanman DS1302 kullanırım dersen, o zaman her sn değişiminde CLK palsini senin pic ile üretmen gerekir.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

Aslında hocam bunu bende düşünüdüm fakat şöyle bişey var ds1302 veya ds1307 hafıza pili sayesinde saati hafızasında tutabiliyor ve devam ettiriyor. Picin enerjisi kesildiğinde ledler yanmaz ama saat ilerler terkrar enerjilendiğinde ledler sıfırdan saymaya başlar fakat ds 1302 sıfırdan sayamaya başlamayabilir, bu sefer displayler ile ledler arasında bi çakışma olacaktır. Örnek vermek gerekirse saniye 32  iken ledler sıfırdan saymaya başlayacağı için farklı bişey gösterecektir. Bu yüzden devreyi ilk çalıştırdığımızda ds1302 içerisindeki saniye bilgisi kaç ise ledlerde otomatikme o saniyeden saymaya devam etmelidir.Benim aklıma bu geldi. eğer rtc kullamasaydım keme ile saat yapsaydım sizi dediğiniz gibi olurdu fakat rtc ile olmayacak gibi
[/quote]

Mucit23

Belki bu ıf komutuyla yapılabilir ama bu programı çok yoracaktır. Ayrıca ıf komutunu fazla kullanmak istemiyorum bu bende kötübi alışkanlık haline geliyor.Tabiki yine en iyisini siz bilirsiniz.

ete

Program ilk çalıştığında zaten saniye bilgisine denk gelen değeri 595 lere yüklemen gerekir. Bu ise zor bir şey değil.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

Şimdi anladım hocam ilk başta rtc den saniyeyi okuyup 74hc595lere gönderecem ondan sonra pals göndererek saymayı devam ettirecem.Bu aklıma gelmemişti doğrusu teşekkür ederim hocam
sağlıcakla kalın.

Mucit23

ete hocam ds1307 nin datasheedine baktımda orada 9. sayfada yazıyor. ds1307nin frekans çıkışından 1 hz  almak için 07H adresinde bulunan control registerinin 10010000 olması gerekiyor
bunu ds1307 yazmak için aşagıdaki gibi bi kod kullanabilirmiyim.
I2CWrite DATA,CLK,$D0,$07,[144]
Kontrol kodunu $D0 kullandım acaba doğrumudur.

ete

Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

merhabalar ete hocam
Sizin Yapmış olduğunuz kayan yazı devrelerinden olan 96 sütün türkçe karakterli kayan yazı devresini 32 sütüna indirdim.
32 sütün için programda gerekli değişiklikleri yaptım simülasyonda çok iyi gözüküyor.
Devreyi boarda kurdum çalıştırdım fakat bir türlü düzgün görüntü elde edemedim.
Devrede katot matrix kullandım ama bi türlü doğru bağlantıları bulamadım.
Acaba devreyi kurarken özellikle dikkat etmem gereken bişey varmı.
yani picin portbsine satırlarmı yoksa sütünlarmı bağlanacak ve 74595 in çıkışlarıda
şekilde satırlarmı sütünlarmı bağlanması gerekiyor. Birde acaba hangi sırayla bağlanması gerekiyor.Müsait bir zamanınızda bu konuda bilgi verirseniz çok memnun olurum.
kullandığım isis  şemasını hex ve bas dosyasını aşağıda ekliyorum yine bi müsait bi
zamanınızda incelerseniz sevinirim.
http://www.dosya.tc/file/3bIrSx/32s_t_nt_rk_ekarakterli.rar.html

Ayrıca birde dikkatimi çekti!
Belki sormak haddim değil ama yaptığınız programlarda yazı olarak hep aşağıdaki yazıyı kullanmışsınız.
"ETE PICMAN KAYAN YAZI PROGRAMI DENEME YAZISIDIR. TOPLAM KAREKTER ADEDI 127 ADET OLABILIR. MATRIKS SAYISI ARTIRILABILMEKTEDIR"
acaba bu kayan yazı devreleri picman(Umut KAZANÇ) bey ile ortak bi çalışmanızmı?

ete

Söze kayan yazı programlarını yazmaktan nefret ettiğimi söyleyerek başlayayım.
Çünki gerçekten çetrefilli bir iş ve elinde donanım yok ise güzel program yazmak zor.
Bense hiç bir zaman kayan yazı devresini fiziki olarak yapmadım. Genelde simulasyonları kullanarak bir çok kayan ve sabit yazı programı yazdım.
Bu arada da bazı kayan yazı programlarını çalışır hale getirip bazılarınıda programda iyileştirmeler yaptım.

Picman isimli arkadaşı tanımıyorum. Bu programı bir kaç sene önce yazdım veya kısmen düzenledim belkide çok iyi hatırlamıyorum.
Bu ismin Umut Kazanç ile bir bağlantısı varmı yokmu onuda bilmiyorum.

Gelelim senin sorununa, Öncelikle her gördüğün devreyi yapmamalısın. Bu gibi devreler simulasyon amaçlı olup gerçek devrede çalışması için bazı devre tadilatları isterler. Mantık olarak düşün, bir 75HC595 yalnızca 1 led sürebilir.  Pic pinleride öyle en fazla 20-25ma akım verirler. Matrix ledlerde bir ortak uç birde ledin diğer ucu bulunmaktadır. Ortak uç teorik olarak 8 adet led sürecek şekilde bağlanmalıdır. Yani bu uç ya bir transistörler yada TPIC595 gibi bir shift register ile sürülmelidir.
Halbuki bu devrede satırlar direk pic den çıkan uç ile sürülmüşler. Bu ise devrenin simulasyon amaçlı yapıldığını gösteriyor.

Devre aslında sütun taramalı sistemde hazırlanmış. 74HC595 ler sütünları tarıyorlar. Karekter bilgisi ise satırdan veriliyor. Hangi sütun aktif ise ona ait satır bilgisi pic den veriliyor belli bir süre bekliyor ve bir sonraki sütun aktif edilip ona ait bilgi veriliyor ve bu iş bu şekilde devam ettiriliyor.

Şimdi senin yapman gereken 74HC595ler yerine TPICB595 kullanmak olabilir ancak programda değişiklik yapmak şartı ile. Hatırladığım kadarı ile TPIC ler high verilince LOW çıkartıyor idi. Yanılıyorda olabilirim.  Halbuki 595ler başlangıçta $FF ile yüklenip tek bir LOW sinyali bütün pinleri dolaşmaktadır. Şayet hatırladığım doğru ise TPIC takılınca bütün TPIC ler LOW ile yüklenip HIGH sinyali dolaştırılmalıdır. Sen High verdiğinde o LOW çıkartacaktır.
Matrix lere dikkat etmek gerekiyor. Bu devrede ortak ANOT (yani Pozitif voltaj ile beslenen) matrix kullanılmıştır. Ledlerin diğer uçlarına LOW sinyal tatbik etmek gerekiyor. Tek dikkat etmen gereken ortak anot matrix alıp ortak uçları tespit etmek ve şemaya göre doğru bağlantıyı yapmak olmalıdır. Ortak uçlar şemda 74HC595 lere bağlanmış diğer uçlar pic den gelen satır pinlerine bağlanmıştır.

Hepsi bu kadar.

Ete

Not: Bu programı pek hatırlayamadım. Bazı yerleri bana ait o kesin ama sanki melez bir program. Yardım ettiğim bir proje lerden biri olabilir.

Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mucit23

Merhabalar ete hocam bağlantı şemasını daha iyi anlamam için aşağıdaki gibi bi matrix bağlantı şeması oluşturdum
Oluşturduğum şema
http://img830.imageshack.us/img830/7525/emaj.jpg

ilk başta kullandığım matrixlerin iç yapısı resim 2 deki gibiydi dolayısıyla bağlantılarıda ona göre yaptım
kullandığım matrixler anottu.
Şimdi ise katot display kullanmam gerek dolayısıyla onun bağlantı şemasıda resim 1 e göre olur dolayısıyla bağlantıları resim 1 e göre yapmam gerek değilmi doğrumudur acaba
Edit:Resim linki yenilendi.