Sensor de Temperatura LM35 con Arduino
El LM35 es un sensor analógico de temperatura muy utilizado en proyectos educativos y de instrumentación porque entrega una tension directamente proporcional a los grados Celsius. Gracias a esto, puede conectarse a una entrada analógica de Arduino y obtener una medición sin necesidad de protocolos digitales ni librerías especiales.
En este articulo veremos como funciona este sensor, como identificar sus pines, cual es la conexión básica con Arduino y como leer la temperatura en el monitor serie con un programa muy sencillo.
¿Qué es el sensor LM35?
El LM35 es un circuito integrado pensado para medir temperatura y entregar una salida analógica lineal. Su principal ventaja es que esta calibrado directamente en grados Celsius, por lo que no hace falta aplicar conversiones complicadas para interpretar la lectura.
En la practica, este sensor entrega 10 mV por cada grado Celsius. Por ejemplo, si la temperatura es de 25 °C, su salida sera aproximadamente de 0,25 V. Si la temperatura sube a 30 °C, la salida sera cercana a 0,30 V. Esta relación lineal hace que sea un sensor muy cómodo para comenzar a trabajar con mediciones analógicas en Arduino.
Pines y funcionamiento del LM35
Si observas el LM35 de frente, con la cara plana hacia ti y las patillas apuntando hacia abajo, la distribución habitual de terminales es la siguiente:
- Vs: alimentación positiva del sensor.
- Vout: salida analógica proporcional a la temperatura.
- GND: tierra o referencia común.
El funcionamiento es directo: el sensor mide la temperatura del entorno y genera en Vout una tension proporcional a esa temperatura con una escala de 10 mV/°C. Esto significa que la conversion es muy fácil:
- 100 mV corresponden a 10 °C
- 250 mV corresponden a 25 °C
- 500 mV corresponden a 50 °C
Al tratarse de un encapsulado pequeño, es importante prestar atención a la orientación antes de alimentarlo. Si se conecta invertido, el sensor puede calentarse y dañarse.
Especificaciones básicas del LM35
En kits de Arduino con encapsulado TO-92 es muy frecuente encontrar la variante LM35DZ. Tomando esa referencia, estas son sus especificaciones básicas.
| Característica | Valor |
|---|---|
| Escala de salida | 10 mV/°C |
| Tipo de salida | analógica lineal |
| Tension de alimentación | 4 V a 30 V |
| Rango de temperatura | 0 °C a 100 °C |
| Precision típica a 25 °C | ±0,5 °C |
Si tu sensor pertenece a otra variante de la familia LM35, el rango de trabajo puede cambiar. Conviene revisar la serigrafía del encapsulado o el datasheet del fabricante si necesitas trabajar cerca de los limites de temperatura.
Conexión del LM35 con Arduino
Para una prueba básica no se necesita ningún componente adicional. Basta alimentar el sensor y llevar su salida analógica a una entrada de Arduino. La conexión mas simple es la siguiente:
- Vs del LM35 a 5V de Arduino
- Vout del LM35 a A0 de Arduino
- GND del LM35 a GND de Arduino
Si montas el sensor sobre protoboard, procura que cada patilla quede en una fila distinta para evitar cortocircuitos accidentales.
Para obtener una lectura mas estable, intenta mantener el sensor alejado del regulador de tension de la placa o de otras fuentes de calor cercanas.
Código para usar el LM35 con Arduino
El siguiente ejemplo lee la entrada A0, calcula el voltaje presente en la salida del sensor y lo convierte a grados Celsius. Después imprime ambos valores en el monitor serie del IDE de Arduino cada segundo.
1// Ejemplo de Arduino para utilizar el sensor LM35
2// Mas información: https://www.3dpellet.com
3
4void setup() {
5 Serial.begin(9600);
6}
7
8void loop() {
9 float voltage = analogRead(A0) * (5.0 / 1023.0);
10 float tempC = voltage * 100.0;
11
12 Serial.print("Voltaje: ");
13 Serial.print(voltage);
14 Serial.print(" V");
15 Serial.print(" Temperatura: ");
16 Serial.print(tempC);
17 Serial.println(" C");
18
19 delay(1000);
20}Con este programa, una lectura de alrededor de 0,24 V o 0,25 V suele corresponder a una temperatura ambiente cercana a 24 °C o 25 °C.
Consideraciones de medición
Aunque el circuito es muy simple, hay varios detalles que conviene tener en cuenta cuando se mide temperatura con el LM35.
Si tocas el sensor con los dedos durante varios segundos, la lectura subirá porque el encapsulado recibe calor directamente de tu mano. Esto es util para comprobar que responde, pero no para obtener una medida ambiente fiable.
También debes considerar la resolución del conversor analógico-digital de Arduino. En una placa de 5 V, cada paso de analogRead() representa aproximadamente 4,88 mV, lo que equivale a casi 0,49 °C con un LM35. Para mejorar la lectura en proyectos mas exigentes, una opción futura es utilizar una referencia analógica menor o aplicar un promedio de varias muestras antes de mostrar el resultado.
Conclusión
El LM35 es una forma muy sencilla de comenzar a medir temperatura con Arduino porque su salida analógica es lineal y su conexión requiere muy pocos elementos. Con solo tres cables y unas pocas lineas de código puedes visualizar la temperatura en tiempo real y usar esa información en termómetros, alarmas, control de ventilación o pequeños sistemas de automatización.