Most recent activity
-
Woow...I supposed it was same sort of error message.
Going deep further the following code for DS1820 works like a charm ;)
Thank you Gordon!readTemp = function(){ var ow = new OneWire(C10); ow.device = ow.search()[0]; ow.reset(); ow.select(ow.device); ow.write(0x44, true); ow.reset(); ow.select(ow.device); ow.write(0xBE); var a = 3-1; var temp_l = ow.read(); var temp_h = ow.read(); var th = ow.read(); var tl = ow.read(); var res1 = ow.read(); var res2 = ow.read(); var count_remain = ow.read(); var count_per_c = ow.read(); var temp_read = ((temp_l + (temp_h<<8))-1)/2; var t = temp_read - 0.25 + (count_per_c - count_remain)/count_per_c; return t; };
-
Sure Gordon...it is possible to make a lib to handle both DS1820 and DS18B20!
The only difference (as @tickTock correctly sad) is the resolution:
What i've done in the previous post, was to raise the fixed 9 bit resolution by using some additional register value in the scratchpad.
In a nutshell for:
Note: is it possible that formulas above doesn't work for temp below zero....in that case you have to play with bits (2 complements...and so on)
...finally reading the LSB of 64bit ROM you can understand if you are using either the DS1820 sensor (0x10) or DS18B20 (0x28) one.