Arduino+LM35

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 nosso caso esta tensão varia entre 0V e 5V, pois o sensor é alimentado com 5V.

Materiais

  • Arduino
  • Breadboard
  • 1x LM35DZ

Montagem

lm35

O LM35 não necessita de qualquer calibração externa ou “trimming” para fornecer os dados com exactidã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 poderemos 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, 2^10 = 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 fiabilidade, assim para que seja fiá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 que tivemos em consideração na escolha do sensor de temperatura a utilizar. A escolha recaiu então no LM35, entre outros aspectos pelo 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.

LM35dz

Código (Arduino) – Download

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 actual: ");
    Serial.println(temperatura);
    delay(1000);
}

Referências

You may also like...

6 Responses

  1. Nelson Adriano diz:

    já encomendei uns lm35 para testar 🙂

  2. Não canso de me impressionar com o poder do arduino….

  3. cara ali em 210 = 1024 , não entendi, pode dar uma força?

  4. Julio Cesar diz:

    Voce poderia explicar mais detalhadamente como os cálculos foram feitos? Obrigado.

  1. 17/03/2013

    […]  http://ricardo-sequeira.com/arduino-lm35/ […]

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *