SHT11 programlama sorunu

Başlatan muozto, 06 Nisan 2015, 18:22:45

muozto

İyi akşamlar arkadaşlar, Fırat Deveci'nin  sht11 sensörü için önceden yazdığı hi tech c kodlarını kullanıyorum. Sensörü gerçek devrede çalıştırmak istedim fakat çalışma esnasında aşağıda bulunan kod parçasındaki başta *temp değişkeni olmak üzere bütün değişkenler sabit bir değerde kaldı. Datasheette de belirtildiği gibi  10k'lık pull up direnci ve 100nf kapasitör kullandım ancak sıcaklık ve nemi ölçemiyorum. Acaba nerede hata yapıyorum yardım edebilir misiniz?  Herkese şimdiden teşekkürler.

void sht11(int *temp, float *rhlin, float *rhtrue)
{
    float realhumid;
    
    *temp = measure_temp() - 4000;
    
    realhumid = (float)measure_humi();
    
    *rhlin = (realhumid * 0.0405) - (realhumid * realhumid * 0.0000028) - 4;
    
    *rhtrue = (((*temp - 2500)/100) * (0.01 + (0.00008 * realhumid))) + *rhlin;
}

mehmet

Keşke kodların tamamını ve şemanızı da verseydiniz...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

muozto

#2
Haklısınız ancak aşağıdaki linkteki konuda paylaşıldığı için kodları tekrar koymayayım dedim. Devre şemasını da koydum. Ayrıca her ne kadar konuyu pic başlığı altında açmış olsam da esasen stm32 mikrodenetleyicisi kullandığım için simülasyon programı kullanamadım bu yüzden sadece bu resmi koyabiliyorum. Bir de linkte paylaştığım kodlardan farklı olarak comwait fonksiyonunu bu şekilde değiştirdim. Bir de 3.3V besleme kullanmaktayım. Not: Alıntı yaptığım kodlar linkteki sayfanın en yukarısındadır.
//***** Function to wait for SHT75 reading *****

void comwait (void)
{
 int16 sht_delay;

 output_float(sht_data_pin);                     //data high
 output_bit(sht_clk_pin, 0);                     //clk low
 delay_us(1);
 for(sht_delay=0; sht_delay<30000; sht_delay++)  // wait for max 300ms
  {
   if (!input(sht_data_pin)) break;              //if sht_data_pin low, SHT75 ready
   delay_us(10);
  }
}
Alıntı Yaphttps://www.picproje.org/index.php/topic,26056.msg175931.html#msg175931

muozto