TMP36 - Sensor de temperatura

TMP36

TMP36 - Sensor de temperatura

Sensor de temperatura integrado

Ideal para trabajar con Compluino / Arduino

Opción mejorada frente al LM35

El offset de salida de 0.5V (500mV) permite medir temperaturas negativas o próximas a cero sin necesidad de alimentación negativa

Estado: NUEVOAGOTADO 
3,63
21.00% IVA incluido
Peso: 20 gramos

Especificaciones técnicas:

El TMP36 genera una salida lineal a razón de 10mV/ºC. A este valor le suma un offset de 500mV, de esta forma podemos medir temperaturas próximas a 0ºC o negativas algo que no es posible con un LM35 y una placa Arduino.

  • Tensión de alimentación: 2.7 a 5.5V
  • Salida calibrada en ºC
  • Factor de escala: 10mV/ºC
  • Offset: 500mV
  • Precisión: +/-2 ºC
  • Linealidad: +/-0.5 ºC

Esquema y diagrama de montaje

La conexión de este sensor de temperatura es muy sencilla, una vez alimentado entre +5V y GND sólo hay que conectar el terminal de salida a una entrada analógica, A0, en este ejemplo.

El montaje con una placa Compluino UNO resulta especialmente sencilla al disponer esta placa de pines de alimentación (+5V y GND) asociados a todas las entradas y salidas de la placa.

La placa arduino original dispone de un número mul limitado de pines de +5V y GND, en este caso resulta especialmente interesante usar las lineas de distribución de alimentación de la propia protoboard, especialmente si queremos añadir otros elementos al montaje.

Programa de ejemplo

En este programa leemos la temperatura ambiental con el sensor TMP36 y la mostramos en el Monitor Serie. Un detalle importante, para calcular el voltaje aplicado a la entrada analógica multiplicamos la lectura del convertidor (0 a 1023) por 5.0 / 1024. Esa es la forma correcta para calcular la resolución del convertivor, evidentemente la lectura máxima nunca llegará a los 5V de una forma exacta (1023 * 5.0 / 1024), esta es justamente, una limitación de este tipo de conversores analógico a digital.

Otro detalle que puede sorprender es cuando ponemos 5.0 / 1024 en vez de 5 / 1024. La forma correcta de hacerlo es la primera, la que hemos usado en este ejemplo, ya que de esta forma indicamos al compilador de Arduino que realice las operaciones en coma flotante (con decimales).

// Monitoriza la temperatura proporcionada por el sensor TMP36

// en el monitor del IDE de Arduino a intervalos de dos segundos

#define TMP36 0

float voltaje;

float temperatura;

void setup()

{

 Serial.begin(9600);

}

void loop()

{

 //Leer el voltaje proporcionado por el sensor TMP36

 voltaje = analogRead(TMP36) * 5.0 / 1024;

 //Convertir el voltaje a temperatura

 temperatura = (voltaje * 100.0) - 50;

 //Mostrar la temperatura en el monitor serie

 Serial.print ("Temperatura: ");

 Serial.print (temperatura);

 Serial.println (" grados");

 delay (2000);

}

A continuación se muestra la información que se mostraría en el monitor del IDE de Arduino