Descripción
El LM35 es un sensor de temperatura de salida analógica diseñado para montarse en placa impresa y ofrecer una salida lineal de 10 mV por grado Celsius, sin necesidad de calibración externa. El rango de operación documentado va desde -55 °C hasta 150 °C, y puede alimentarse típicamente desde 4 V hasta 30 V según su hoja de datos.
Resolución y límites de medida
- Sensibilidad del sensor: 10 mV por 1 °C.
- Rango operativo: -55 °C a 150 °C.
- Resolución con Arduino UNO (ADC 10 bits, referencia 5 V): paso ADC = 5 V / 1024 = 4.883 mV por cuenta, equivalente a ≈ 0.488 °C por cuenta.
- Mejor resolución usando referencia interna 1.1 V: paso ADC = 1.1 V / 1024 = 1.074 mV por cuenta, equivalente a ≈ 0.107 °C por cuenta. La referencia interna aumenta la resolución útil dentro del rango práctico del LM35 para temperaturas del orden de 0 a 110 °C.
- Límites prácticos: el sensor puede medir hasta 150 °C pero la precisión y la estabilidad dependen de la correcta alimentación, disipación térmica en la placa y la lectura ADC; para lecturas de alta precisión se recomienda reducir ruido en la alimentación y usar referencia de voltaje estable.
Ejemplo en Arduino y conexiones
- Componentes: Arduino UNO, LM35, cables, (protoboard no indispensable).
- Conexiones:
- VCC del LM35 a 5V del Arduino.
- GND del LM35 a GND del Arduino.
- Vout del LM35 a A0 del Arduino.
- Nota de referencia ADC: para mayor resolución configure analogReference(INTERNAL) si su Arduino soporta referencia interna de 1.1 V y si la temperatura medida queda dentro del rango que ese Vref representa con seguridad.
Código ejemplo (Arduino UNO)
- Descripción: lectura analógica, conversión a voltaje y a grados Celsius usando referencia 5 V por defecto.
int pinLM35 = A0;
float voltage, tempC;
void setup() {
Serial.begin(9600);
}
void loop() {
int raw = analogRead(pinLM35);
voltage = raw * (5.0 / 1024.0); // cambiar 5.0 por 1.1 si usa INTERNAL y ajustar fórmula
tempC = voltage * 100.0; // 10 mV por grado => 0.01 V/°C => 100 °C por V
Serial.print("Temp C: ");
Serial.println(tempC);
delay(1000);
}
- Si usa referencia interna 1.1 V reemplace la línea de conversión de voltaje por voltage = raw * (1.1 / 1024.0) y llame a analogReference(INTERNAL) en setup para mejorar la resolución en el rango de interés.
Disclaimer
La información proporcionada es orientativa y basada en fuentes públicas y ejemplos típicos. Consulte la hoja de datos del modelo específico de LM35 que utilice, las especificaciones de su placa Arduino y realice pruebas prácticas para verificar precisión, calibración y límites en su diseño.