Arduino LM35 en 5 minutos con Serial

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.

Arduino LM35 en Protoboard

 

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.

Arduino LM35 conexion en proto y su vista superior

 

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.

Arduino LM35 resultados finales

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.

Arduino LM35 y su vista en la terminal del monitor serial

 

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.

Arduino LM35 salida a LED

Autor:

Dr. Rubén E-Marmolejo.

Profesor en la Universidad de Guadalajara, México

Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.