In this video we will see the TS01 non-contact temperature sensor in the 0 to 3 Volt version of DFRobot. We will see how to easily connect it to an Arduino one together with an oled display we will be able to record the temperature of different objects that are around us without having to touch them Ideal for an industrial environment, and be able to take the temperature remotely safely.
You can find more DFRobot products on https://www.dfrobot.com/?tracking=6054215fb144f
And the TS01 non-contact temperature sensor in https://www.dfrobot.com/product-1823.html
You may be interested in projects in Arduino, pic, robotics, telecommunications, subscribe http://www.youtube.com/user/carlosvolt?sub_confirmation=1 videos with full source code and diagrams
introduction
The DFRobot TS01 IR temperature sensor is a non-contact thermal sensor, which can be used to measure the infrared intensity of the object to calculate the temperature of its surface without touching it. The built-in temperature compensation for the sensor greatly ensures the accuracy of the temperature measurement. The all-metal sensor package makes it able to protect against impacts, water, dust, etc. With stable output data, this temperature sensor can exhibit much better measurement performance than most other similar products on the market. The product has been calibrated over a wide temperature range before leaving the factory. With an operating temperature of -40oC -85oC, the sensor can be used to measure the temperature of -70oC to 380oC while providing a maximum accuracy of 0.5oC.
An optical filter (long wave pass) that cuts off visible radiant flow and near-infrared is integrated into the package to provide immunity to the environment and sunlight. Its field of view is as small as 5o, which means that for a heat source 10 cm in outer diameter, the maximum measurement distance of the sensor can reach up to 116 cm.
characteristics
- Non-contact temperature measurement
- Industrial grade operating temperature range
- Analog voltage output
- Metal packaging
specification
- Supply voltage: 5.0 x 24 V DC
- Operating current: 20 mA
- Signal output: analog voltage 0 x 3 V
- Operating temperature: -40oC to 85oC
- Measuring temperature: -70oC to 380oC
- Accuracy: ± 0.5oC ± 4oC
- Field of View: 5′
- Degree of defense: IP65
- Probe Diameter: 15.4mm / 0.61″
- Probe length: 78 mm / 3.07 «
- Cable length: 1.5 m / 59.06 «
- Interface type: DuPont 3Pin + DuPont 1Pin
Measurement precision gradient diagram
- The sensor’s field of view (FOV) is 5 degrees. The target dimension and the optical properties of the IR temperature sensor decided the maximum distance between the target and the probe. The sensor field of view is shown below.
- The gradient diagram of the sensor measurement accuracy is shown below (To is the measured temperature; Ta is the temperature of the environment in which the sensor is located). Note that the temperature error only applies to a certain isothermal condition, and is only valid when the detected object is completely filling the sensor’s field of view.
source code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include "U8glib.h"//Librería para el control del display oled U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);// I2C / TWI // Se habilita esta linea según el display a usar en este caso el driver SH1106 float i; void setup() { Serial.begin(9600);//Velocidad del monitor serie } void loop() { // Leemos el promedio de la entrada analógica 0 unsigned int pinA3=pinA3_promedio(200);//Llamamos a la función para promediar 200 datos del pin analógico i=((double)pinA3*450/614.4-70);//Calculo para convertir los datos a grados centígrados Serial.print(i); Serial.println("\u2103");//Imprimimos el simbolo de grados delay(100); //Display u8g.firstPage(); do { draw();//Llama a la función draw } while( u8g.nextPage() ); } //Función para promediar los volares obtenidos en el pin analógico A3 int pinA3_promedio(double n) { long sumatoria=0; for(int i=0;i<n;i++) { sumatoria=sumatoria+analogRead(A3); //delay(1); } return(sumatoria/n); } //Función para mostrar datos en el display void draw(void) { //Imprimimos en pantalla el valor de la frecuencia obtenida u8g.setFont(u8g_font_unifont); u8g.setPrintPos(0, 20); u8g.print("Temp: "); u8g.print(i); u8g.print("^C"); } |
circuit
RECOMMENDED PROJECT