48. Sensor de temperatura en Arduino

La Tecnología para todos - Un pódcast de Luis del Valle Hernández

Categorías:

Hoy vamos a hablar de cómo podemos leer la temperatura ambiente. Para ello vamos a utilizar un sensor de temperatura en Arduino UNO, más concreto el sensor analógico LM35. Como ya hablamos en el capítulo donde tratábamos la API, necesitamos la función analogRead para capturar el valor que nos proporciona el sensor.Si tienes alguna duda sobre Raspberry Pi o algún otro tema de tecnología puedes contactar con nosotros a través del formulario de contacto, en Twitter y en Facebook. También tenemos a tu disposición una lista de distribución.SorteoComo queremos premiar a todos nuestros seguidores fieles y también que os iniciéis en el maravilloso mundo de Arduino, vamos a sortear un KIT DE INTRODUCCIÓN A ARDUINO para que podáis empezar. El sorteo se realizará con todos aquellos que estén suscritos a la lista de distribución hasta el día 27 de Octubre de 2015 a las 24H (hora peninsular española). Si todavía no estás suscrito, a qué esperas.Antes de meternos en faena, recordemos como funcionan las entradas analógicas en Arduino. Aunque estemos hablando de un valor analógico, Arduino discretiza en 1024 valores (0 a 1023). Esto quiere decir que si tenemos un rango de valores de entre 0 V y 5 V, cuando el sensor nos de un valor de 0 V con analogRead tendremos un valor de 0 y cuando nos de 5 V tendremos 1023. Si nos da un valor de 2,5 V simplemente tenemos que hacer una regla de 3 y calcular que valor nos proporcionará dicha función.LM35 sensor de temperaturaEn este artículo vamos a utilizar el sensor LM35. Este sensor, como cualquier otro sensor, tiene unas características de funcionamiento las cuales se pueden ver en su ficha técnica. Este documento es el punto de partida para utilizar cualquier sensor en Arduino. Nos aportará la información necesaria para trabajar con él y es indispensable consultarlo antes de empezar.Lo primero que debemos tener claro es el conexiado. Si nos vamos a la página 3 veremos que el sensor tiene 3 patillas, hay que fijarse en el gráfico que pone LP Package 3-Pin TO-92. Si miramos de frente el sensor, por la parte plana veremos algo parecido a la siguiente imagen.lm35-sensorDonde Vs es la alimentación, normalmente a 5 V que es lo que nos da la placa de Arduino salvo que especifiquemos lo contrario, GND es la toma de tierra y Vout es la salida que proporciona el sensor.Por lo tanto de aquí podemos sacar como debemos conectar el sensor con Arduino. Antes de hacerlo tenemos que estar seguro que el rango de trabajo de este sensor soporta los 5V que nos va a proporcionar nuestra placa. En caso contrario deberíamos hacer algo para reducir esos 5V. En la página número 1 encontramos un apartado que pone Features (características). De aquí podemos sacar mucha información. Si miramos en el apartado que pone Operates from 4 V to 30 V, nos está diciendo que funciona con voltajes de 4 V a 30 V así que estamos dentro del rango permitido.Ahora vamos a fijarnos en la salida que nos proporciona el LM35. Las dos primeras líneas dicen:Calibrated Directly in Celsius (Centigrade)Linear + 10-mV/ºC Scale FactorLa primera línea nos dice que el sensor está calibrado en grados centígrados con lo cual no hará falta realizar ninguna transformación si queremos saber la temperatura en estas unidades. La segunda línea nos viene a decir que los cambios de temperatura son lineales con un factor de escala de 10mV por ºC (grado centígrado) es decir, para 1 ºC tendremos una tensión de 10 mV. Esto es muy importante ya que hay una regla de proporción entre el voltaje de salida y los grados.Si nos fijamos un poco más abajo en las Features (características) encontramos el rango completo de temperaturas de -55 ºC a 150 ºC. Esto quiere decir que a -55 ºC tendremos -550 mV y a 150 ºC tendremos 1.500 mV. Esto también lo puedes ver en la ficha técnica en la primera página el gráfico...