Hay varios sensores de temperatura, deduzco que estas usando el DS18B20 de Dalas.
1) Estás usando los sensores conectados en modo alimentación parásita, pero ¿No debería ir unida la patilla 1 y la 3 en ese modo? Yo nunca los he usado así. Para distancias largas es mejor el modo normal que es el que yo uso.
2) Lo mejor es usar cable blindado con la malla a masa. Por dentro del blindaje dos o un cable dependiendo del modo de conexión
3) Si tienes un solo sensor puedes leer el sensor que el sistema situe en la primera posición. Si hay más de un sensor no sabrás en que posiciones ha dejado situados los sensores, lo que debes hacer es leer por dirección. Es una dirección única muy larga que viene grabada en la memoria de cada sensor a modo de firma y que hay que detectar por posición y registrar en el programa para diferenciar cada sensor.
4) La codificacion que he visto para este sensor ofrece sistemas de lectura que tardan unos 750 ms. Lo cierto es que primero ha de enviarse un comando al sensor y pasado unos 750ms ya está disponible el dato que se obtiene con otro comando. He recodificado estos procedimientos para que se obtenga el dato y se deje preparado el sensor para la siguiente lectura. Al inicializar el senso lo dejo preparado. Yo las lecturas las hago como muy rápido una vez por segundo coincidiendo con el refresco de la información en pantalla. Con este sistema logro que la lectura de temperatura sea instantánea, aunque eso sí, la lectura que muestra es la que corresponde al refresco anterior, lo cual es perfectamente aceptable. Si necesitas mi módulo para eso te lo paso, pero está pensado para intearactuar con otros modulos y tendrías que modificarlo. Podría pasartelo modificado sin esas dependencias. Puede que te interese hacer las lecturas rápidas como las hago yo.
5) Los problemas derivados de un orden diferente en la inicialización del hardware suelen tener que ver con dependencias de unos módulos con otros. Esos sensores necesitan tyner instanciado el objeto OnWire sobre el pin de entrada salida digital que se usará para el sensor.
Por ejemplo:
#define Pin_DS18x20 8 // Definir pin para el bus OnWire con sensores DS18x20
OneWire ds(Pin_DS18x20); // Instanciamos objeto OnWire con el Pin DS18x20_Pin
Luego el modulo de DS18B20 usaría ese objeto ds de tipo OneWire.
6) La impermeabilización de este sensor no es un asunto trivial. Venden sondas sumergibles que terminan fallando al cabo de unas semanas.
7) El control de temperatura, ya sea del acuario o de los LEDs es un tema crítico donde los fallos tienen consecuencias. Yo uso la sonda para medir la temperatura del acuario pero no voy a controlar la temperatura del mismo nada más que para refrigerar. La temperatura de los LEDs la controlo también con este tipo de sensor.
Me va muy bien. Es una maravilla.