En este post hablaremos un poco del sensor de temperatura LM35 y como usarlo con Arduino. En cualquier proyecto de es recomendable tener un sensor de temperatura para monitorear.
Hoy optaremos por un sensor bastante normal que detecta temperaturas entre -55°C a 150°C, 1°C equivale a 10mV y soporta voltajes entre 4V y 30V. Toda esta información la puedes revisar y verificar en la ficha técnica del LM35.
Cuando leemos un sensor analógico con Arduino lo hacemos a través de la función analogRead que nos da un valor entre 0 y 1023, 1024 valores posibles. Si tenemos 0V a la entrada nos devolverá 0 y si tenemos 5V nos devolverá 1023.
Conociendo el LM35
El LM35 es un circuito electrónico sensor que puede medir temperatura. Su salida es analógica, es decir, te proporciona un voltaje proporcional a la temperatura. El sensor tiene un rango desde −55°C a 150°C. Su popularidad se debe a la facilidad con la que se puede medir la temperatura. Incluso no es necesario de un microprocesador o microcontrolador para medir la temperatura. Dado que el sensor LM35 es analógico, basta con medir con un multímetro, el voltaje a salida del sensor.
LM35 y sus características principales
- Resolución: 10mV por cada grado centígrado.Voltaje de alimentación. Por ejemplo, esté sensor se puede alimentar desde 4Vdc hasta 20Vdc.Tipo de medición. Salida analógica.Numero de pines: 3 pines, GND, VCC y VSalida.No requiere calibración.
- Tiene una precisión de ±¼°C.Esta calibrado para medir °C.
- TO-CAN.TO-220.TO-92.SOIC8.
Los pines del sensor LM35
El pinout del sensor de temperatura son tres: GND, VCC y VSalida. Entonces dependiendo del empaquetado será el orden de conexión de los pines. Por ejemplo, el empaquetado TO-220 tiene la siguiente distribución:
Trabajando con Arduino
A partir de esta información que hemos obtenido sobre el Sensor LM35, podemos obtener una fórmula matemática que nos calcule la temperatura en función del voltaje que nos facilita el sensor y así poder trabajar con Arduino, para ello la formula quedaría de la siguiente manera
Temperatura = (5.0 * tempC * 100.0) / 1024.0
Lo primero que haremos será ver como se conecta el sensor LM35 con Arduino y para ello les dejo un esquema electrónico para que sea más sencillo realizar las conexiones pertinentes
Pues manos a la obra ahora viene lo mas intuitivo y atractivo de este post, vamos a programar y a abrir nuestro IDE de Arduino y coloquemos el siguiente código
// Declaración de variables globales
float temp; // Variable para almacenar el valor obtenido del sensor (0 a 1023)
int pinLM35 = 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
temp = analogRead(pinLM35);
// Calculamos la temperatura con la fórmula
temp = (5.0 * tempC * 100.0)/1024.0;
// Envía el dato al puerto serial
Serial.print(temp);
// Salto de línea
Serial.print("\n");
// Esperamos un tiempo para repetir el loop
delay(1000);
}
Pequeño paréntesis de recordatorio, cuando programamos con el Arduino debemos tener en claro que la data se nos entrega por medio del puerto serial y para ello es que declaramos dentro del setup() la función begin() para poder iniciar la comunicación con el monitor serie y tener una correcta comunicación con la data que envía o recibe Arduino y así poder mostrar la data usando la funcion print() o println() esta ultima con un salto de linea después de mostrar en el monitor la data.
Ahora si una vez que hayamos terminado de escribir nuestro código en el IDE Arduino, procederemos a verificar y a enviar el compilado hacia nuestra placa Arduino Uno, y abriremos el monitor de en la siguiente ruta, para ello nos dirigimos a la barra de menú y damos clic en Tools > Serial Monitor o con el atajo de teclado Ctrl + Shitf + M y nos abrirá una nueva pantalla
Con esto ya estará listo y ya esteremos obtenido el valor de la temperatura actual de nuestro ambiente.
Nota: si quieres usar este mismo código con un Arduino Mega2560, hay que hacer una modificación en la linea 4, y en lugar de colocar int pinLM35 = 0;, lo cambiamos por int pinLM35 = A0; para que funcione correctamente.
Listo!, vamos a seguir sacando provecho y a nuestra placa Arduino.
¿Desea obtener ayuda con nuevos proyectos de Arduino o de como implementar y aplicar el Sensor de Temperatura LM35 en su Arduino Mega2560? Enviar una solicitud de servicio pagado