Medida de temperaturas con Arduino y el sensor LM35

El LM35, aunque parece un transistor cualquiera con encapsulado TO-92, es un circuito integrado que incluye un sensor de temperatura interno. A diferencia de otros sensores analógicos como los termistores cuya resistencia varía con la temperatura, el LM35, en su pin de salida, nos entrega un potencial proporcional a la temperatura del sensor que podemos medir directamente con nuestro Arduino.

Viene calibrado de fábrica a razón de 10mV/ºC con un potencial de 0mV para 0ºC. Esto quiere decir que, una vez que hemos leído el potencial del pin de salida del LM35, la temperatura del sensor viene dada por la formula

T = Vout / 10

donde T es la temperatura en grados centrígrados y Vout es el potencial del pin de salida del LM35 en milivoltios.

Bueno, ya tenemos la teoría, ahora vamos conectar nuestro sensor. El circuito es tan sencillo como el mostrado en la figura. Sólo tenemos que conectar los terminales de alimentación del sensor a Vcc y GND del Arduino y el terminal Vout al pin A0, por ejemplo.

El código necesario para leer el potencial existente en Vout del sensor sería algo así:

const int lm35 = A0;

void setup()
{
}

void loop()
{
    int value = analogRead(lm35); 
    float vout = 5000 * value / 1024; // milivoltios.
    float temp = vout / 10; // grados centígrados.

    delay(1000);
}

En este código hacemos una lectura analógica del pin A0 del Arduino sobre la variable value. La variable vout contiene el resultado anterior en milivoltios, y la variable temp contiente el valor de la temperatura en grados centígrados.

Una vez obtenido el valor de la temperatura podemos mostrarla en un display y tendríamos un termómetro. Podemos compararla con cierto valor predefinido y si se supera disparar un relé para accionar cualquier dispositivo, con lo que tendríamos un termostato, etc.

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *