Sensor de temperatura con Arduino

En esta sesión vamos a trabajar con un sencillo sensor que nos va a permitir medir la temperatura en el entorno donde tengamos realizado nuestro montaje, de tal forma que podamos decidir qué acciones a realizar en función de los umbrales de temperatura que estimemos oportuno.

Un ejemplo de este tipo de sensores son los termistores. Un termistor es un dispositivo cuya resistencia cambiará en función de la temperatura. Usaremos estas variaciones para realizar una medición aproximada de nuestra temperatura ambiente.

Concretamente nosotros utilizaremos el termistor MPC9701, que pertenece a la familia de termistores activos lineales. Es un sensor que nos dará valores analógicos de temperatura, convirtiendo la temperatura en un voltaje análogo. Es de bajo costo y ofrece bajo consumo, con una precisión de ±4°C desde 0°C a +70°C Este sensor provee una solución de bajo costo para aplicaciones que requieran mediciones del cambio de temperatura relativa. Podéis encontrar más info en su datasheet.

Las prácticas a realizar serán similares a las que hicimos con el fotoresistor en el anterior montaje. En primer lugar vamos a montar en nuestro Arduino el termistor en solitario para ver qué valores nos da y observar su funcionamiento. En segundo lugar, añadiremos un grupo de leds que se irán encendiendo a medida que tengamos más temperatura en el termistor.

El montaje es muy sencillo. En la siguiente imagen podéis observar con claridad el montaje, pero si lo vemos de frente, el orden de montaje sería el siguiente:

  • La pata izquierda a 5V
  • La derecha a GND
  • La pata situada en el medio a una entrada analógica en Arduino

En el código lo único destacable es la fórmula que nos ofrece el propio termistor para calcular la temperatura. Es el siguiente:

float temp;

void setup() {
   Serial.begin(9600);
};

void loop () {
   temp = analogRead(0)*5.0/1024.0;
   temp = temp - 0.5;
   temp = temp / 0.01;
   Serial.print(temp);
   Serial.println(" ºC");
   delay(500);
};

En otros montajes utilizamos variables de tipo int (entero), que sirven para valores sin decimales. En esta ocasión queremos utilizar valores decimales, así que por lo tanto tenemos que utilizar variables tipo float, que nos permiten almacenar estos valores.

A partir de aquí, y para el segundo montaje con los leds, os vamos a retar a que seáis capaces de reutilizar el código utilizado en el anterior montaje, variando los valores que necesitéis en la estructura IF, para que en función de la variación de la temperatura se vayan encendiendo más leds.

Para finalizar, os dejamos con Andrea Lizar, quien os va a contar como realizar el montaje y la primera práctica.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *