ago 18 2012
Utilizando o sensor de temperatura LM35 com o 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