ago 18 2012

Utilizando o sensor de temperatura LM35 com o Arduino

Publicado por em Arduino

O sensor LM35 é um sensor de precisão, fabricado pela National Semiconductor, que apresenta uma saída de tensão linear proporcional à temperatura a que se encontra, no caso do uso do Arduino, esta tensão varia entre 0V e 5V, pois o sensor é alimentado com 5V.

O LM35 não necessita de qualquer calibração externa ou “trimming” para fornecer os dados com exatidão, porém, para ser lido pelo Arduino necessita de conversão, pois o Arduino lê apenas valores inteiros entre 0 e 1023.  Assim sabendo que este sensor tem uma resolução de 10mV por cada 1ºC podemos deduzir uma expressão para a temperatura em função do valor lido.

O sensor será alimentado pelo Arduino que fornece 5V, como as entradas analógicas têm uma resolução de 10 bits, ou seja, 210 = 1024, e cada grau corresponde a 10 mV então a expressão da temperatura em função do valor lido na entrada analógica do Arduino será:

temperatura = (valor lido * (5/1023))*100

temperatura = 0,0048875855*valor lido

Todos os condutores quando sujeitos a corrente eléctrica dissipam energia, sob várias formas, entre elas sob a forma de calor, e um dos aspectos mais importante num sensor de temperatura é a sua confiabilidade, assim para que seja confiável e as suas leituras sejam tão próximas do real quanto possível é necessário que a energia dissipada na forma de calor seja também a mais baixa possível. Este foi um dos pontos considerados na escolha do sensor de temperatura a ser utilizado.

Foi escolhido então o LM35, por, entre outros aspectos, seu baixo auto-aquecimento, pois este sensor apenas dissipa 60uA sob a forma de calor, ou seja, o aumento de temperatura que sofre devido à energia dissipada é de apenas 0.1ºC.

 

Materiais utilizados:

  • Arduino Duemilanove ou Uno
  • Breadboard ou Protoboard
  • Sensor LM35

 

Montagem:

 

 

Código para o Arduino:

 
int pinoSensor = 0; 
int valorLido = 0; 
float temperatura = 0;
void setup() { 
   Serial.begin(9600); 
}
void loop() { 
   valorLido = analogRead(pinoSensor); 
   temperatura = (valorLido * 0.00488); 
   temperatura = temperatura * 100; 
   Serial.print("Temperatura atual: "); 
   Serial.println(temperatura); 
   delay(1000); 
}

Downloads:

Datasheet LM35 – Sensor de Temperatura

Fontes:

https://sites.google.com/site/ricardosequeira93/electronica/arduino/arduino-lm35

Tags: , ,

Ainda sem respostas

« Anterior