Medindo temperatura do ambiente com termistor NTC e Arduino
Um termistor é um dispositivo elétrico que tem sua resistência alterada termicamente, em outras palavras, sua resistência muda conforme a temperatura do ambiente.
Esse dispositivo é amplamente utilizado para controlar e/ou alterar a temperatura em dispositivos eletroeletrônicos, como termômetros, circuitos eletrônicos de compensação térmica, dissipadores de calor, ar-condicionados, entre outros.
Os termistores podem ser classificados em PTC e NTC. No termistor do tipo PTC (do inglês, Positive Temperature Coefficient) sua resistência elétrica aumenta sensivelmente com o aumento da temperatura. Por sua vez, no NTC (do inglês, Negative Temperature Coefficient) sua resistência diminui sensivelmente à medida que a temperatura aumenta.
Para medir temperatura normalmente utiliza-se os termistores do tipo NTC. Existem termistores NTC de diversos valores disponíveis no mercado, no entanto o mais comum é o de 10K. A Figura 1 ilustra um termistor NTC e sua simbologia.
O intuito deste projeto é utilizar o sensor de temperatura termistor NTC de 10 K para medir a temperatura do ambiente em conjunto com a placa Arduino. O valor da temperatura medida deverá ser exibido no monitor serial do software Arduino IDE.
Para isso, vamos utilizar biblioteca “Thermistor.h” que implementa as funcionalidades de um termistor NTC e suas aplicações de forma mais simples.
MATERIAIS NECESÁRIOS
- 1 x Placa UNO SMD R3 Atmega328 compatível com Arduino UNO;
- 1 x Cabo USB;
- 1 x Protoboard;
- 1 x Termistor NTC 10K (sensor de temperatura);
- 1 x Resistor de 10 kΩ;
- Fios de jumper macho-macho.
ESQUEMÁTICO DE LIGAÇÃO DOS COMPONENTES
Conecte os componentes na protoboard como ilustra a Figura 8. Verifique cuidadosamente os cabos de ligação antes de ligar sua placa UNO. Lembre-se que a placa UNO deve estar desconectada enquanto você monta o circuito.
Ao montar seu circuito na protoboard preste atenção nos seguintes pontos:
- Assim como os resistores, o termistor NTC não possui polaridade;
- Um terminal do termistor NTC deve ser conectado ao 5 V e o outro ao pino analógico da placa UNO, neste caso usamos o pino A4. Conectamos também uma resistência de 10 kΩ entre o pino A4 e o GND da placa UNO.
ELABORANDO O CÓDIGO
O principal intuito deste projeto é a utilização do termistor NTC de 10K para medir a temperatura do ambiente. No entanto, vamos mostrar como adicionar uma biblioteca no Arduino IDE. Uma das grandes vantagens na utilização das placas Arduino é a diversidade de bibliotecas disponíveis gratuitamente que podem ser utilizadas na construção de seus projetos.
Desta forma, vamos proceder a instalação da biblioteca específica para utilização do termistor. Esta biblioteca encontra-se disponível para download no seguinte link:
www.blogdarobotica.com/bibliotecas/thermistor
Após realizar o download da biblioteca, vamos instalá-la por meio do seguinte caminho: Toolbar > Sketch > Incluir biblioteca > Adicionar biblioteca ZIP, conforme ilustra a Figura 3.
Com a biblioteca instalada, feche o Arduino IDE e abra-o novamente. Feito isso, vamos a programação do nosso Sketch:
O primeiro passo é a inclusão da biblioteca do termistor no editor de texto por meio da instrução #include <Thermistor.h>.
Em seguida, criamos o objeto temp do tipo Thermistor e atribuímos os sinais do pino A4 a ele. Este objeto receberá os dados brutos vindos da porta analógica A4;
No setup, inicializamos a comunicação serial por meio da instrução: Serial.begin(9600).
No loop, criamos a variável inteira temperature que será responsável por armazenar o valor da temperatura calculada pela biblioteca.
Logo após, imprimimos no monitor serial o texto “Temperatura: ”, o valor da temperatura calculada e armazenada na variável temperature e o texto ºC.
Por fim, é dado um intervalo de 1 segundo entre as leituras;
O programa do projeto proposto encontra-se detalhado a seguir:
#include<Thermistor.h>//Inclusão da biblioteca Thermistor Thermistor temp(4);//Atribui o pino analógico A4, em que o termistor está conectado, a variável temp void setup() { Serial.begin(9600);//Inicializa a comunicação serial } void loop() { int temperatura = temp.getTemp();//Variável do tipo inteiro que recebe o valor da temperatura calculado pela biblioteca Serial.print("Temperatura: ");//Imprime na serial o texto "Temperatura" Serial.print(temperatura);//Imprime na serial o valor da temperatura calculada Serial.println("°C");//Imprime na serial "ºC" delay(1000);//Intervalo de 1 segundo }
Espero que tenham gostado deste tutorial. Em caso de dúvidas deixe seu comentário abaixo.
Att.,
Carol Correia Viana
Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.