Para realizar a leitura da temperatura interna do tanque nós utilizamos um sensor LM35. É um sensor muito simples de ser utilizado e que não precisa de nenhuma biblioteca adicional. Seu datasheet explica seu funcionamento: linear com uma escala de 10mV por ºC.
Pinagem:
Na página do Arduino Playground existe o exemplo do código mais básico (sem se preocupar muito com a precisão), que segue:
temp = (5.0 * analogRead(tempPin) * 100.0) / 1024;
Nesta mesma página existe a explicação de como melhorar a precisão do sensor.
Como este sensor fica dentro do tanque, precisávamos torná-lo impermeável. Dado que ele ja é à prova d’água, na primeira tentativa utilizamos apenas cola epóxi em seus terminais:
Com água da torneira funcionou perfeitamente por dias, porém ao colocarmos no tanque a solução “atacou” a cola e conseguiu chegar aos terminais, corroendo a perna do +Vcc e inutilizando o sensor.
Na segunda tentativa refizemos a proteção dos terminais com uma pequena camada de cola epóxi, tubo termocontrátil e silicone.
Novamente não foi o suficiente para proteger os terminais da solução nutritiva, e o sensor entrou em curto.
Na terceira tentativa colocamos o sensor dentro de uma garrafa e afundamos a garrafa no tanque.
Por enquanto está funcionando perfeitamente, em breve o post será atualizado com mais fotos.