Uso De Sensor TMP36 Para Monitorar Temperatura De Sistema Hidropônico
by jroliveira in Circuits > Arduino
268 Views, 1 Favorites, 0 Comments
Uso De Sensor TMP36 Para Monitorar Temperatura De Sistema Hidropônico
Plantas são organismos muito sensíveis e sofrem a influência de diversos fatores. Para um bom cultivo, é necessário que haja monitoramento dos parâmetros de acordo com a cultura em questão. Em sistemas hidropônicos, onde o solo é substituído pela água, é de suma importância que a qualidade da água seja monitorada para garantir a produtividade. Um dos fatores que influencia na qualidade da água é a sua temperatura, sendo necessário um constante monitoramento. de O sensor de temperatura TMP36 opera de modo a captar a temperatura do meio e o transformá-la em um sinal elétrico
Conhecendo O Sensor De Temperatura TMP36
O Sensor de Temperatura TMP36 é um componente eletrônico digital. É composto por duas faces, uma plana e uma curva. Considerando a parte posicionada de frente para o operador, o primeiro terminal é por onde o sensor é alimentado pelo arduino com uma tensão de 5V, o mais à direita (GND) é o terra e o terminal do meio é responsável pela tensão de saída do sensor, relacionada à temperatura do ambiente. Esse sensor monitora temperatura nos mais diversos ambientes, em uma faixa entre -40°C e 125°C, com uma escala de 10mV/ºC e precisão de ±2ºC. A tensão de saída do TMP36 varia em uma faixa de 100 mV a 1,75V, onde 100mV corresponde a uma temperatura de -40°C e 1,75V corresponde a 125°C. A partir disso, surge a relação entre a tensão de saída (Vsensor) e a Temperatura:
Temp=(Vsensor-0,5)*100
Componentes Necessários
Para a montagem desse circuito será necessário:
- Protoboard
- Arduino UNO
- Leds (vermelho, verde e azul)
- Sensor TMP36
Montagem Do Circuito
A montagem do circuito deve ser feita como apresentada na figura. É importante lembrar que a temperatura será uma entrada analógica por ter valores que transitam dentro de uma faixa, diferentemente do que ocorre com as entradas digitais que alternam entre 0 e 1, ou seja, ligado ou desligado. Nesse caso, o multímetro é adaptado para voltímetro e serve somente para a verificação da precisão do circuito.
Código Do Circuito
const int LEDVR=4; // Define o pino do LED Vermelho const int LEDAM=3; // Define o pino do LED Amarelo const int LEDVD=2; // Define o pino do LED Verde const int PinSensor=A5; // Define conexão do pino com o sensor TMP int LeituraSensor; // Inicia a variável temperatura float Temperatura, VoltagemSensor=0; // Define temperatura e voltagem como float void setup() { pinMode(LEDVR, OUTPUT); // Define pino do LED vermelho como saída pinMode(LEDAM, OUTPUT); // Define pino do LED amarelo como saída pinMode(LEDVD, OUTPUT); // Define pino do LED verde como saída pinMode(PinSensor, INPUT); // Define pino do sensor TMP como entrada analógica Serial.begin(9600); // Inicia porto serial para encaminhar os dados delay(100); // Tempo para iniciar o porto serial } void loop() { LeituraSensor=analogRead(PinSensor); // Leitura da temperatura e transforma em voltagem VoltagemSensor=LeituraSensor*4.887; Temperatura=((VoltagemSensor)-500)/10; if (Temperatura<=15 && Temperatura>=32){ // Parâmetros de intervenção imediata para o LED vermelho acender digitalWrite(LEDVR, HIGH); digitalWrite(LEDAM, LOW); digitalWrite(LEDVD, LOW); } if ((Temperatura>=15 && Temperatura<=23 )|| (Temperatura>27 && Temperatura<32)) { // Condições alarmantes para o LED amarelo acender digitalWrite(LEDVR, LOW); digitalWrite(LEDAM, HIGH); digitalWrite(LEDVD, LOW); } if (Temperatura>=23 && Temperatura<=27) { // Faixa ótima acende LED verde digitalWrite(LEDVR, LOW); digitalWrite(LEDAM, LOW); digitalWrite(LEDVD, HIGH);} if (Temperatura>=23 && Temperatura<=27) { // Exibe temperatura no monitor serial Serial.println("Temperatura atual:"); Serial.println(Temperatura); delay(5000);} else{ Serial.println("Temperatura atual:"); // Exibe a temperatura fora da faixa ótima em um intervalo de tempo menor Serial.println(Temperatura); delay(1000);} } }