Los sensores son dispositivos ampliamente usados en multitud de circuitos. Los hay de temperatura, de humedad, de humo, de luz, y un largo etc. Son elementos que permiten medir alguna magnitud y transformarla en una respuesta de tensión. La señal analógica de salida se puede transformar a digital de forma sencilla y así poder usar este tipo de sensores con circuitos digitales, pantallas LCD, una placa Arduino, etc.
LM35 es uno de los sensores más populares y utilizados de todos, ya que es un sensor de temperatura. Viene encapsulado en empaquetado similar al de los transistores que analizamos en este mismo blog, como el 2N2222 y el BC547. Lo que hace es medir la temperatura ambiental y según sea mayor o menor, tendrá una u otra tensión a su salida.
El LM35
El LM35 es un sensor de temperatura con una calibración de 1ºC de variación. Por supuesto, esto no quiere decir que todos los sensores de temperatura vengan preparado para grados Celcius, pero sí en este caso. De hecho, eso es algo que tú debes adaptar luego para calibrarlo y que mida en la escala que necesites. A su salida genera una señal analógica de un voltaje diferente según la temperatura que esté captando en cada momento.
Por lo general, puede abarcar temperaturas de medición de entre -55ºC y 150ºC, por lo que tiene un buen rango para medir temperaturas bastante populares. De hecho, eso es lo que lo ha dotado de tanto éxito, que puede medir temperaturas muy frecuentes. El rango de temperaturas está limitado por la cantidad de voltajes variables que puede tener a su salida, que van desde los -550mV hasta los 1500mV.
Es decir, cuando está midiendo una temperatura de 150ºC ya sabemos que va a dar 1500mV en su salida. Mientras que si tenemos -550mV quiere decir que está midiendo -55ºC. No todos los sensores de temperatura tienen estos mismos rangos de voltaje, algunos pueden variar. Las temperaturas intermedias las tendremos que calcular mediante simples fórmulas sabiendo esos dos límites. Por ejemplo, con una regla de tres.
El pinout del LM35 es bastante simple, la primera patilla o pin es para la alimentación necesaria para el sensor, que va de 4 a 30v, aunque puede variar en función del fabricante, por tanto, es mejor que mires el datasheet del sensor que hayas adquirido. Luego, en el centro, tenemos la patilla para la salida, es decir, la que dará una tensión u otra en función de la temperatura. Y la tercera patilla es de tierra.
Características y datasheets
El LM35 es un dispositivo que no necesita de circuitería extra para calibrarlo, por tanto resulta muy sencillo de usar. Por ejemplo, si lo usamos con Arduino, tan solo nos tenemos que preocupar del rango de voltajes que da a su salida conociendo la temperatura máxima y mínima que puede medir, y realizar un sencillo sketch para que la señal analógica que recibe la placa Arduino pueda ser transformada a digital y que en la pantalla aparezca la temperatura en ºC o hacer conversiones a la escala que quieras.
Como no se suele calentar demasiado, suele estar encapsulado en packages baratos de plástico y similares. La baja tensión necesaria para su funcionamiento y a su salida hace que esto sea posible. No se trata de un dispositivo de alta potencia que necesite de un encapsulado metálico, cerámico e incluso de disipadores como en algunos casos.
Entre las características técnicas más destacables están:
- Tensión de salida proporcional a la temperatura: de -55ºC a 150ºC con tensiones de -550mV a 1500mV
- Calibrado para grados Celcius
- Tensión de precisión garantizada de 0.5ºC a 25ºC
- Baja impedancia de salida
- Baja corriente de alimentación (60 μA).
- Bajo coste
- Package SOIC, TO-220, TO-92, TO-CAN, etc.
- Voltaje de trabajo entre 4 y 30v
Para obtener todos los detalles sobre el LM35, puedes usar los datasheets aportados por fabricantes como TI (Texas Instruments), STMicroelectronics, y otros populares proveedores de este tipo de sensor. Por ejemplo, aquí puedes descargar el PDF del datasheet para el TI LM35.
Integración con Arduino
Puedes obtener ejemplos de código para Arduino IDE y ejemplos prácticos con nuestro curso o manual de programación en Arduino. Pero para ofrecer un ejemplo de cómo usar un LM35 con Arduino y de código, aquí vemos este ejemplo sencillo.
Para leer la temperatura de un LM35 con Arduino es muy sencillo. Primero recordemos que -55ºC y 150ºC, con sensibilidad de 1ºC. Haciendo cálculos se puede concluir que casa 1ºC de temperatura significa un incremento o equivale a 10mV. Por ejemplo, si tenemos en cuenta que la salia máxima es de 1500mV, si obtenemos 1490mV, eso quiere decir que el sensor está captando una temperatura de 149ºC.
Una fórmula para poder convertir la salida analógica del sensor LM35 a digital sería:
T = Valor * 5 * 100 / 1024
Recuerda que 1024 se debe a que Arduino, en su entrada digital acepta solo esa cantidad de valores posibles, es decir, de 0 a 1023. Eso representará el rango de temperatura que se puede medir, siendo la mínima 0 y la máxima se corresponderá 1023. Esta es la forma de poder transformar de analógico a digital la señal obtenida a la salida del pin del LM35.
Esto, pasado al código que tienes que escribir en Arduino IDE para que funcione sería algo así:
// Declarar de variables globales float temperatura; // Variable para almacenar el valor obtenido del sensor (0 a 1023) int LM35 = 0; // Variable del pin de entrada del sensor (A0) void setup() { // Configuramos el puerto serial a 9600 bps Serial.begin(9600); } void loop() { // Con analogRead leemos el sensor, recuerda que es un valor de 0 a 1023 temperatura = analogRead(LM35); // Calculamos la temperatura con la fórmula temperatura = (5.0 * temperatura * 100.0)/1024.0; // Envia el dato al puerto serial Serial.print(temperatura); // Salto de línea Serial.print("\n"); // Esperamos un tiempo para repetir el loop delay(1000); }
Recuerda que si cambias los pines de conexión en la placa Arduino o quieres ajustarlo a otra escala, deberás variar la fórmula y el código para que se corresponda con tu diseño…
De esta forma, en la pantalla podrás conseguir mediciones de temperatura en ºC bastante fiables. Puedes probar acercándo algo frío o caliente al sensor para ver las alteraciones que se producen…