Tengo tres DS18B20 (o creo que al menos dos de ellos son DS18B20). Actualmente los estoy leyendo a través de una placa Linux integrada (Raspberry Pi en este caso).
Tengo dos de los sensores en una placa de pruebas, que dan temperaturas aparentemente precisas. El tercero es uno de esos DS18B20 incluidos en un cable "a prueba de agua" de Ebay como este:
Cuandoleolossensores,obtengolassiguienteslecturas:
pi@raspberrypi:~$cat/sys/bus/w1/devices/28-*/w1_slave45014b467fff0b1084:crc=84YES45014b467fff0b1084t=2031257014b467fff0910c7:crc=c7YES57014b467fff0910c7t=21437600180801fff80802e:crc=2eYES600180801fff80802et=22000
Entonces,loquehaceestecomandoessimplementeobtenertodoslossensoresyleerlos.Bastantesimple.Dividat=20312
por1000yobtendrá20.312°C
Peroloextrañoesqueeltercersensorsoloalgunavezdarámedicionesdetemperaturadentrode0.5grados,mientrasquelosotrosdossoncapacesdemedirhastaloquepareceser0.1grados.Alprincipiopenséquelaterceraestabarota,perocuandorevisélahojadedatos,especificaclaramentequelapiezatieneunaprecisiónde~0.5grados.
Hehechounatablaconlosvaloresqueobtengo:
BreadboardSensor#1|BreadboardSensor#2|CableSensor21.93721.56222.0021.81221.56222.0020.46820.47822.5019.58420.20127.0019.62519.68728.00
Asíqueahoraestoytotalmenteconfundido.¿Estánrotoslossensoresdelaplacadepruebas,oestáelcable?Sitodosestántrabajando,¿porquédosdeellosparecentenerunaresoluciónmásalta?
Editar:Heestadobuscandomásyparecequehayalgunaspersonasquesehanencontradoconesto,yotraspersonashansugeridoquepodríanserfichasfalsas.
Actualización:elcontroladordedispositivoparalossensores(
El controlador tampoco admite una precisión reducida (lo que también reducir el tiempo de conversión).