sábado, 8 de noviembre de 2014

Contact-less Infrared Thermopile Sensor Breakout - TMP006

Contact-less Infrared Thermopile Sensor Breakout - TMP006

            The TMP006 have the capacity to measure the temperature of an object without touching it. Simply point the sensor towards what you want to measure and it will detect the temperature by absorbing IR waves emitted. The embedded thermopile sensor generates a very very small voltage depending on how much IR there is, and using some math, that micro voltage can be used to calculate the temperatureThis sensor comes as an ultra-small 0.5mm pitch BGA. The sensor works  with 5V.

                                              



As a design guideline, the TMP006 should only be used to calculate the surface temperature of target objects with emissivity values greater than 0.7, and preferably greater than 0.9. The emissivity values of common objects are listed in next table.

     Materials:

       1. Arduino
       2. Protoboard
       3. TMP006 sensor(from adafruit)
       4. Four connecting wires



   Wiring:

       1. Place the TMP006 sensor in the protoboard.
       2. Connect the sensor VCC to 5V.
       3. Connect the sensor GND to GND.
       4. Connect the sensor SDA to "A5" analogpin.
       5. Connect the sensor SCL to "A4" analogpin.
       6. Download the file. Libraries

 Code:

   /***************************************************

  This is an example for the TMP006 Barometric Pressure & Temp Sensor

  Designed specifically to work with the Adafruit TMP006 Breakout
  ----> https://www.adafruit.com/products/1296

  These displays use I2C to communicate, 2 pins are required to 
  interface
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries. 
  BSD license, all text above must be included in any redistribution
 ****************************************************/

#include <Wire.h>
#include "Adafruit_TMP006.h"

// Connect VCC to +3V (its a quieter supply than the 5V supply on an Arduino
// Gnd -> Gnd
// SCL connects to the I2C clock pin. On newer boards this is labeled with SCL
// otherwise, on the Uno, this is A5 on the Mega it is 21 and on the Leonardo/Micro digital 3
// SDA connects to the I2C data pin. On newer boards this is labeled with SDA
// otherwise, on the Uno, this is A4 on the Mega it is 20 and on the Leonardo/Micro digital 2

Adafruit_TMP006 tmp006;
//Adafruit_TMP006 tmp006(0x41);  // start with a diferent i2c address!

void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit TMP006 example");

  // you can also use tmp006.begin(TMP006_CFG_1SAMPLE) or 2SAMPLE/4SAMPLE/8SAMPLE to have
  // lower precision, higher rate sampling. default is TMP006_CFG_16SAMPLE which takes
  // 4 seconds per reading (16 samples)
  if (! tmp006.begin()) {
    Serial.println("No sensor found");
    while (1);
  }

  Serial.println("Send s to enter sleep mode, or w to wake up.  Measurements are not updated while asleep!");
}

void loop() {
  // Check for sleep/wake command.
  while (Serial.available() > 0) {
    char c = Serial.read();
    if (c == 'w') {
      Serial.println("Waking up!");
      tmp006.wake();
    }
    else if (c == 's') {
      Serial.println("Going to sleep!");
      tmp006.sleep();
    }
  }

  // Grab temperature measurements and print them.
  float objt = tmp006.readObjTempC();
  Serial.print("Object Temperature: "); Serial.print(objt); Serial.println("*C");
  float diet = tmp006.readDieTempC();
  Serial.print("Die Temperature: "); Serial.print(diet); Serial.println("*C");
  
  delay(4000); // 4 seconds per reading for 16 samples per reading
}

Serial print and example from library:



       

More information:


More information about the sensor can be found on the TMP006datashit




Sensor de temperatura infrarrojo sin contacto TMP006

    El TMP006 tiene la capacidad para medir la temperatura de un objeto sin tener contacto con él. Simplemente dirija el sensor hacia la dirección del objeto que se desee medir y este lo detectará por medio de absorción de las ondas IR emitidas. El sensor de termopila incrustado genera una pequeña diferencia de voltaje, dependiendo de cuánto IR existe, y el uso de algunos cálculos, que los micro voltajes se pueden utilizar para calcular la temperatura. Este sensor viene como ultra-pequeño de 5mm pitch BGA,el mismo se trabaja en un tablero (protoboard). El sensor trabaja con 5V.



                 


Como directriz de diseño, el TMP006 sólo debe utilizarse para calcular la temperatura de la superficie de objetos de destino con valores de emisividad mayor que 0.7, y preferiblemente mayor que 0.9. Los valores de emisividad de los objetos comunes se enumeran en la siguiente tabla.




  Materiales:

         1. Arduino
         2. Tablero (protoboard)
         3. Sensor TMP006 (de adafruit)
         4.  Cuatro cables de conexión 


   Cableado:

        1. Coloque el sensor TMP006 en el tablero.
        2. Conecte  el VCC del sensor  a 5V.
        3. Conecte el GND del sensor a GND.
        4. Conecte el SDA del sensor  al puerto análogo "A5".
        5. Conecte el SCL del sensor al puerto análogo "A4''.
        6. Descargue el documento. - Librerías
              TMP006 - https://github.com/adafruit/Adafruit_TMP006


    Código:

  /***************************************************

  This is an example for the TMP006 Barometric Pressure & Temp Sensor

  Designed specifically to work with the Adafruit TMP006 Breakout
  ----> https://www.adafruit.com/products/1296

  These displays use I2C to communicate, 2 pins are required to 
  interface
  Adafruit invests time and resources providing this open source code,
  please support Adafruit and open-source hardware by purchasing
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries. 
  BSD license, all text above must be included in any redistribution
 ****************************************************/

#include <Wire.h>
#include "Adafruit_TMP006.h"

// Connect VCC to +3V (its a quieter supply than the 5V supply on an Arduino
// Gnd -> Gnd
// SCL connects to the I2C clock pin. On newer boards this is labeled with SCL
// otherwise, on the Uno, this is A5 on the Mega it is 21 and on the Leonardo/Micro digital 3
// SDA connects to the I2C data pin. On newer boards this is labeled with SDA
// otherwise, on the Uno, this is A4 on the Mega it is 20 and on the Leonardo/Micro digital 2

Adafruit_TMP006 tmp006;
//Adafruit_TMP006 tmp006(0x41);  // start with a diferent i2c address!

void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit TMP006 example");

  // you can also use tmp006.begin(TMP006_CFG_1SAMPLE) or 2SAMPLE/4SAMPLE/8SAMPLE to have
  // lower precision, higher rate sampling. default is TMP006_CFG_16SAMPLE which takes
  // 4 seconds per reading (16 samples)
  if (! tmp006.begin()) {
    Serial.println("No sensor found");
    while (1);
  }

  Serial.println("Send s to enter sleep mode, or w to wake up.  Measurements are not updated while asleep!");
}

void loop() {
  // Check for sleep/wake command.
  while (Serial.available() > 0) {
    char c = Serial.read();
    if (c == 'w') {
      Serial.println("Waking up!");
      tmp006.wake();
    }
    else if (c == 's') {
      Serial.println("Going to sleep!");
      tmp006.sleep();
    }
  }

  // Grab temperature measurements and print them.
  float objt = tmp006.readObjTempC();
  Serial.print("Object Temperature: "); Serial.print(objt); Serial.println("*C");
  float diet = tmp006.readDieTempC();
  Serial.print("Die Temperature: "); Serial.print(diet); Serial.println("*C");
  
  delay(4000); // 4 seconds per reading for 16 samples per reading
}

Impresión de serie y ejemplo de la libreria:

    

Más información:

Para más información acerca del sensor la puede encontrar TMP006datashit


No hay comentarios:

Publicar un comentario