DS18b20 i bascom.

Dec 15, 2003 2 Replies

Witam! Mam maly problemik. Podlaczylem DS18B20 do AT90S8535 i oprogramowalem to w bascomie. Problem jest w tym, ze wartosc, ktora dostaje na wyjsciu nie odpowiada zeczywistosci. W pokoju jest 21 st.C a na wyswietlaczu mam 18 (bzdura). Jak wloze uklad w lod to pokazuje 0 (dobrze). Jak trzymam czujke to dostaje max 26 st. - a powinno dac chociazby te trzydziesci pare. DS18B20 podlaczylem przez 3-wire ( nozka 1:GND, nozka 2: +5V przez



4,7k(lub2k2-bez rozn.) i do PB.0, nozka 3: +5V) Do odczytu temp. uzywam subprocedurki:

'w main: (..............) 1wwrite &HCC 1wwrite &H44 Read1820 (..............)



'w sub: Sub Read1820 ' reads sensor ans calculate 1wreset ' reset the bus 1wwrite &HCC ' read internal RAM 1wwrite &HBE ' read 9 data bytest Bd(1) = 1wread(9) ' read bytes in array 1wreset ' reset the bus Tmp = Bd(1) And 1 ' 0.1C precision If Tmp = 1 Then Decr Bd(1) T = Makeint(bd(1) , Bd(2)) T = T * 50 : T = T - 25 : T1 = Bd(8) - Bd(7) : T1 = T1 * 100 T1 = T1 / Bd(8) : T = T + T1 : T = T / 10 X = T / 10 End Sub



Co zrobilem zle?



Serdecznie pozdrawiam Michal


Nie chce mi sie analizowac tego kodu ale... mam nadzieje ze czytales pdf'a od ds18b20 ? On ma defaultowo wlaczona precyzje 12bit. W mlodszym bajcie siedzi 4 bity temperatury i 4 bity tego co za przecinkiem.

Jak mnie oko nie myli to procedura odczytu temperatury z DS18S20 a nie DS18B20 snipped-for-privacy@interia.pl

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required