Arduino LM35 – Introducción al sensor
En Arduino LM35 es un sensor que puede medir temperatura. En este tutorial te diremos como leerlo y enviar la temperatura por el puerto Serial. Para poder leer un sensor analógico se requiere de un ADC. Este modulo puede convertir una señal analógica de voltaje a un valor binario. Por lo tanto para usar el ADC con Arduino y leer el sensor LM35, se utilizará a la función analogRead.
En principio el ADC de Arduino es de 10-bits. Esto significa que su salida puede tomar valores desde 0 hasta 1023 ((2^10)-1). Entonces las características de este ADC es que acepta voltajes de entrada de 0 a 5vdc. Esto es para todas sus entradas desde A0 hasta A5.
Material utilizado
Conexión de Arduino con el LM35
Para usar al sensor de temperatura, se conectaran al Arduino de la siguiente forma:
Pin de Arduino Pin del Sensor
GND GND
5V VCC
A0 VSalida
Adicionamente conectaremos un LED en el pin D12 para notificarnos cuando la temperatura supere un umbral establecido. En la siguiente Figura te mostramos la vista superior del un Arduino y el LM35.
Ejemplos
En los siguientes ejemplos aprenderemos a leer la temperatura en Arduino LM35 con Arduino. En la siguiente imagen se muestra el resultado del ultimo Ejemplo, cada ejemplo indica un paso del proceso de conversión.
Ejemplo-1. Leer el valor binario del sensor
El ADC de Arduino puede leer valores en voltaje desde 0V hasta 5V. Entonces estos valores los convertirá a un valor entero desde 0 hasta 1023. Por ejemplo, tomemos el siguiente código:
Código de Arduino para obtener el valor binario para el sensor en Arduino LM35
El resultado del código anterior se muestra en la siguiente imagen. El resultado que esta imprimiendo en el monitor serial ronda valores entre 44 y 45. Pero que significan estos valores enteros. Dado que el ADC convierte el voltaje en valores enteros, tenemos que hacer una conversión para poder volver a tener el valor del voltaje, pero ahora en una variable del programa. Esto lo haremos en el Ejemplo-2.
Ejemplo-2. Convertir el valor binario del LM35 a voltaje
Tomaremos como base el programa del Ejemplo-1. Para convertir el numero binario a voltaje, se requiere de una variable que pueda guardar números decimales. En este caso usaremos una variable del tipo double. Entonces la declaración de la variable seria: double voltajeLM35 = 0.0;
Una vez que tenemos a esta variable, la usaremos después de leer el valor del pin A0. Para convertir el valor entero a voltaje, usaremos la siguiente formula:
voltajeLM35 = lecturaADC*5/1023;
La operación lecturaADC/1023 regresará un valor entero. La opción (a) funciona de esta forma, lo cual sería un error, esto porque el resultado que imprimiría seria 0.0. Para evitar este problema, se hace un «casting» a la variable entera. Este casting hará que el compilador considere a la operación, como si fuera una variable double. La opción (b) considera este caso. Pero aún no llegamos a medir temperatura, aún tenemos que hacer otra conversión, en el Ejemplo-3 lo terminaremos. También tenemos más información sobre el sensor LM35.
Código del Ejemplo-2
Ejemplo-3, convertir el voltaje de Arduino LM35 a un valor de temperatura
Para convertir la variable que representa al voltaje, en una medición de temperatura, se requiere una segunda conversión. Dicha conversión toma en cuenta a la resolución del sensor LM35. La resolución nos indica que por cada °C el sensor nos proporcionara 10mV a la salida. Por lo tanto tendremos que hacer esta conversión al inverso, es decir:
TemperaturaLM35 = voltajeLM35/0.01;
Es importante señalar que la variable TemperaturaLM35 se debe de declarar como double para poder representar decimales. Finalmente en el siguiente ejemplo, se incorporara una alarma.
Código del Ejemplo-3
Ejemplo-4. Agregar una alamar en Arduino y LM35
La alarma será asignada al pin12. En este pin se conectara un LED, cuando la temperatura supere una referencia, entonces se encenderá el LED. Para tal objetivo se agregará al código del Ejemplo-3, una variable para la referencia y un if como sentencia de control.
Código del Ejemplo-4.
Resultados del Ejemplo-3.
Autor:
Dr. Rubén E-Marmolejo.
Profesor en la Universidad de Guadalajara, México
Hola buenos dias podria enviarnos un listado con los materiales que utilizo, se lo agradeceria. Saludos
Hola Luciana, listo, ya agregue la sección, al inicio del tutorial, para el material usado. Saludos
Muy entendible,