SHT11 ile sıcaklık ve nem kontrolü sorunu

Başlatan ihsan_atay, 17 Temmuz 2011, 10:42:43

ihsan_atay

BASLA:
    isi_deger = ERead 0
    nem_deger = ERead 4 
    
    If DURUM = 0 Then GoTo ANA
    If DURUM = 1 Then GoTo MENU
    If DURUM = 2 Then GoTo ISI_AYAR
    If DURUM = 3 Then GoTo NEM_AYAR
    

ANA:
    GoSub OLCUM
    GoSub Drive_Nem
    GoSub Drive_Isi
    GoTo BASLA

Drive_Nem:

    If RHtrue < (nem_deger - 2) Then PORTC.3 = 1
    If RHtrue >= nem_deger Then PORTC.3=0  
     
    Return

Drive_Isi:
    
   If T < (isi_deger - 0.2) Then High PORTC.1
   If T >= isi_deger Then Low PORTC.1
   
   Return

sorunum ısıyı kontrol edebilirken nemi kontrol edemiyorum. ısı için kullandığım bacak çalışıyor ama nem için kullandığım bacak çalışmıyor. pic mi arızalı diye düşündüm. kodlarda yer değişikliği yaptım. iş bu sefer terse döndü.nemi kontrol edebiliyorum. ama ısıyı kontrol edemiyorum.
BASLA:
    isi_deger = ERead 0
    nem_deger = ERead 4 
    
    If DURUM = 0 Then GoTo ANA
    If DURUM = 1 Then GoTo MENU
    If DURUM = 2 Then GoTo ISI_AYAR
    If DURUM = 3 Then GoTo NEM_AYAR
    

ANA:
    GoSub OLCUM
    GoSub Drive_Isi
    GoSub Drive_Nem
    GoTo BASLA


Drive_Isi:
    
   If T < (isi_deger - 0.2) Then High PORTC.1
   If T >= isi_deger Then Low PORTC.1
   
   Return
Drive_Nem:

    If RHtrue < (nem_deger - 2) Then PORTC.3 = 1
    If RHtrue >= nem_deger Then PORTC.3=0  
     
    Return

araya gecikme koydum. bu seferde sırayla çalışıyorlar. her ikisini de aynı anda nasıl çalıştırabilirim?

muhittin_kaplan

Portc3 ü kontrol edermisin ihsan. kodları değiştirdiğinde hala portc nin 3 ü mü hatalı çalışıyor ?
ayrıca iki adet altprogram yerine birleştirerek dene bakalım ne olacak
BASLA:
    isi_deger = ERead 0
    nem_deger = ERead 4 
    
    If DURUM = 0 Then GoTo ANA
    If DURUM = 1 Then GoTo MENU
    If DURUM = 2 Then GoTo ISI_AYAR
    If DURUM = 3 Then GoTo NEM_AYAR
    

ANA:
    GoSub OLCUM
    GoSub Drive
    GoTo BASLA

Drive:

    If RHtrue < (nem_deger - 2) Then PORTC.3 = 1
    If RHtrue >= nem_deger Then PORTC.3=0  
    If T < (isi_deger - 0.2) Then High PORTC.1
    If T >= isi_deger Then Low PORTC.1
   
   Return

ihsan_atay

portc.3 ü sağlam. ilginç olan ne yaparsam yapayım en son hangisini kontrol etmek istiyorsam onu yapıyor.

ihsan_atay

mesela sizin yazdığınızda ısı kontrolu altta. sadece ısı kontrolu sağlıyor.eğer yer değiştirirsek alta nemi yazarsak nem kontrolu sağlıyor. iki gündür uğraşıyorum.

ihsan_atay

isis te normal çalışıyor. benim derdim gerçek devre de. yardımlarınızı bekliyorum.

ihsan_atay

işin içinden çıkamadım. en sonunda çıkışlardan birini porta ya verdim. sorun kalmadı. ama hala kafamda soru işareti neden her iki çıkışı da portc den alamıyorum?

ilhan_mkp

hocam kullandığım işlemci nedir acaba c portunda analog vs kalan bir pin olabilirmi ?

ihsan_atay