DS18B20'de beklemeden ölçüm alma

Başlatan Mucit23, 22 Temmuz 2014, 17:43:24

Karamel

#15
hocam ben konu disinda birsey merak ediyorum. fonksiyonu neden void deilde float olarak tanimladiniz? ( float ds1820_read()  )

RaMu

Aynı değil busy değişkeni herseferinde 0 yükleniyor sende
ben onu static int busy_2 olarak değiştirdim,
aslında int8 busy tanımlamasını kaldırsam daha net görülürmüş.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Mucit23


RaMu

Alıntı yapılan: Karamel - 25 Temmuz 2014, 00:55:09
hocam ben konu disinda birsey merak ediyorum. fonksiyonu neden void deilde float olarak tanimladiniz? ( float ds1820_read()  )
c de fonksiyonlar konusuna bakmalısın
geriye değer döndüren fonksiyonlar kısmında yazar,
bu fonksiyon çağrıldıktan sonra
result değişkeni içinde geriye float bir değer döndürüyor,
bu yüzden float olarak tanımlı,
misal integer bir değer döndürseydi
int olarak tanımlayabilirdik.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Karamel

yanit icin tesekkur ederim ramu hocam. boyle olabilecegini tahmin etmistim ama emin deyildim.

Mucit23

Sensör bayağı hassasmış.

Büyükçe bir bardak içerisine buzları doldurdum. Boşluk kalmayacak şekilde birazda içerisine su koydum. 10 Dakika kadar bekledim ve Su geçirmez ds18b20'yi daldırdım buzların içerisine.

Buzların tam arasındayken 0,8C hatta 0,6C felan görüyorum. Tam sıfır olması zaten beklemiyordum. Bu durumda hata yok gibi.

Şimdi buzların bir kısmı eridi. Buzlar bardağın üstünde yüzüyor. Sensörü bardağın dibine yani buz olmayan kısıma götürünce sıcaklık 1,5-2C oluyor. Sensörü yukarı buzların arasına alınca hemen yine 0,6 lara iniyor.

Buz testinin sonuçları böyle.

mehmet

Buz içerisine bir miktar tuz koyup deneyiniz...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"