Search
Close this search box.

Como usar o sensor de temperatura MCP9700 com Arduino

Como usar o sensor de temperatura MCP9700 com Arduino

Olá pessoal, tudo bem? Neste tutorial você aprenderá como utilizar o sensor analógico de temperatura MCP9700. Ele é uma alternativa de baixo custo quando comparado ao seu  equivalente LM35, veja a tabela de comparação abaixo:

  MCP9700 LM35
Tensão min (V): 2.3 V 4V
Tensão max (V): 5.5 V 30V
Corrente 12 uA 60 uA
Temp min (°C): -40 °C -60 °C
Temp max (°C): +125 °C +150 °C
Precisão: +-1 °C +-0.4 °C

Veja a pinagem deste componente:

Montagem na Protoboard:

Caso você tenha problemas com oscilações nas leituras, adicione um capacitor cerâmico de 100nf nos terminais + e – do sensor a fim de servir como filtro.

void setup() {
  Serial.begin(9600); 
}
void loop () {
 float temp = (analogRead(0)*5/1024.0)-0.5;
  temp = temp / 0.01;
  Serial.print(temp);
  Serial.println(" C");
  delay(1000);
  
}//fim do loop

E para construir um termômetro, basta pegarmos estes dados de temperatura e “jogar” em um display de LCD.

Lembrando que o nosso display é I2C, ou seja, ele tem uma placa soldada aos seus pinos para fazer a conversão de paralelo para I2C facilitando muito a nossa montagem.

Deve-se ficar atento ao “endereço” da placa, o endereço da nossa é “0x27”. Caso a sua tenha um endereço diferente, basta fazer a alteração no código antes do upload.

Se preferir, baixe o nosso >> PACK << com a biblioteca para o display, os esquemas de montagem, os datasheets e os códigos prontos! Com certeza lhe ajudará muito.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C 
  lcd(0x27, 16, 2); // Seta o endereço do diplay para "0x27" , display de LCD 16x2 
void setup()
{
  Serial.begin(9600); // Inicializa a comunicação serial
   lcd.begin();   // Inicializa o display
   lcd.backlight(); // Ativa a luz do LCD
   lcd.print("TEMPERATURA"); // Escreve na primeira linha do LCD
}
void loop()
{
 float temp = (analogRead(0)*5.0/1024.0)-0.5; // Lê os dados na porta analogica "ZERO", aplica a formula e guarda na variavel "temp"
  
  temp = temp / 0.01; // Aplica o ajuste na formula e guarda na variavel "temp"
  lcd.setCursor(4,1); // Posiciona o cursor do display 
  lcd.print(temp); // Escreve o valor da temperatura no display
  lcd.print("C");
  
  Serial.print(temp); // Escreve o valor da temperatura no serial monitor 
  Serial.println("C");
  delay(1000); // Aguarda 1 segundo para refazer a leitura
}
//fim do loop

Até a próxima pessoal!

Share this post

Recent Posts
About

Pellentesque id velit ut ligula maximus gravida venenatis in turpis. In eu lacinia libero. Aenean nec aliquet dui. Sed tristique convallis sapien, semper porttitor mauris scelerisque et. 

Newsletter
Subscribe for our monthly newsletter to stay updated

Related Posts