Non-contact High Temperature Alarm Using TS01 Sensor
by CarlosVoltT in Circuits > Arduino
76 Views, 0 Favorites, 0 Comments
Non-contact High Temperature Alarm Using TS01 Sensor
The TS01 non-contact sensor high temperature alarm is a system designed to detect and alert about dangerous temperature conditions in various environments.
The TS01 non-contact sensor high temperature alarm is a system designed to detect and alert about dangerous temperature conditions in various environments. This system uses the TS01 sensor, which is capable of measuring temperature without the need for physical contact with the object or environment to be monitored.
The TS01 sensor uses infrared technology to capture the thermal radiation emitted by the object and convert it into an accurate temperature measurement. This enables contactless detection, which is especially useful in situations where direct interaction with the object is impractical or undesirable.
When the TS01 sensor detects that the temperature has reached or exceeded a predefined threshold, it triggers an audible or visual alarm to alert users to the high temperature situation. This allows for a quick and efficient response to potential overheating risks, thus protecting the integrity of equipment, installations and, in some cases, the safety of people.
Socket for arduino nano
Display oled sh1106
This is a 128x64 dot monochrome OLED display module with I2C interface. It has several advantages over LCD displays, such as high brightness, very good contrast, a wider viewing angle, and low power consumption. It is compatible with Arduino Rasberry Pi and PIC microcontrollers among others. It works with logic levels from 3.3V to 5V and has a viewing angle greater than 160 degrees. The screen size is 1.3 inches. It is powered by a voltage of 3.3V to 5V. It can be used in applications such as smart watches, MP3, thermometers, instruments, and various projects, etc.
Characteristics
- Interface: I2C(3.3V / 5V logic level)
- Resolution: 128 x 64
- Angle of view: >160 degree
- Display color: Blue
- Display size: 1.3 inch
- Driver IC: SH1106
- Power supply: DC 3.3V~5V
- Operating temperature: -20~70’C
- Application: smart watch, MP3, thermometer, instruments, DIY projects, etc.
PCB
Electronic pcb diagram
Sensor TS01
INTRODUCTION
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 its surface temperature without touching it. Built-in temperature compensation for the sensor greatly ensures the accuracy of temperature measurement. The all-metal package of the sensor makes it capable of protecting against impact, 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 in a wide temperature range before leaving the factory. With an operating temperature of -40℃-85℃, the sensor can be used to measure the temperature of -70℃~380℃ while providing a maximum accuracy of 0.5°C.
An optical filter (long-wave pass) that cuts off visible and near-infrared radiant flux is integrated into the package to provide immunity to ambient and sunlight. Its field of view is as small as 5°, meaning that for a heat source of 10 cm outer diameter, the maximum measuring distance of the sensor can reach up to 116 cm.
In addition, we use shielding cables to reduce the external radiation interference to the sensor as well as to decrease its own radiation interference to the outside environment, which makes the sensor can be applied to all kinds of complicated industrial situations. At the same time, the accuracy of the product has been greatly increased.
CHARACTERISTICS
- Non-contact temperature measurement
- Industrial grade operating temperature range
- Analog voltage output
- Metal packaging
SPECIFICATION
- Supply voltage: 5.0 ~ 24V DC
- Operating current: 20 mA
- Signal output: analog voltage 0 ~ 3 V
- Working temperature: -40℃~85℃
- Measuring temperature: -70℃~380℃
- Accuracy: ±0.5℃~±4℃
- Field of view: 5 °
- Defense grade: IP65
- Probe diameter: 15.4mm / 0.61”
- Longitud de la sonda: 78 mm / 3,07 “
- Cable length: 1.5m / 59.06"
- Tipo de interfaz: DuPont 3Pin + DuPont 1Pin
Measurement accuracy gradient diagram
- The field of view (FOV) of the sensor is 5°. The dimension of the target and the optical properties of the IR temperature sensor decided the maximum distance between the target and the probe. The field of view of the sensor 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
#include <U8g2lib.h>
U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
float i;
int buzzer_pin4 = 4;//Pin 4 para el buzzer
int alarma = 50;//Seteo de alarma por alta temperatura
void setup() {
Serial.begin(9600);//Velocidad del monitor serie
pinMode(buzzer_pin4, OUTPUT);//Pin 4 como salida
u8g2.begin(); //Inicializamos el display
}
void loop() {
// Leemos el promedio de la entrada analógica 3
unsigned int pinA3=pinA3_promedio(200);//Llamamos a la función para promediar 200 datos del pin analógico 3
i=((double)pinA3*450/614.4-70);//Calculo para convertir los datos a grados centígrados
Serial.print(i);//Imprimimos esos datos en el terminal serial
Serial.println("\u2103");//Imprimimos el simbolo de grados
delay(100);
//Comprobamos si la temperatura es mayor o igual a 50 grados haemos sonar el buzzer
if(i >=alarma){
digitalWrite(buzzer_pin4, HIGH);
delay(40);
digitalWrite(buzzer_pin4, LOW);
delay(20);
}
oled();//Función para mostrar los datos obtenidos en el display
}
//Función para promediar los valares 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);
}
return(sumatoria/n);
}
//Función para mostrar datos en el display oled
void oled(){
u8g2.clearBuffer(); // Borra el contenido anterior del buffer de pantalla
u8g2.setFont(u8g2_font_ncenB10_tr); // Selecciona una fuente grande
u8g2.setCursor(0, 20); // Establece la posición de la posición del texto
u8g2.print("Temp: ");//Se muestra Temp: en el display
u8g2.print(i);//Se muestra el valor de temperatura obtenido
u8g2.print("^C");//Se muestra ^C en el display
u8g2.setCursor(0, 40); // Establece la posición de la posición del texto
u8g2.print("Alar: ");//Se muestra Alart: en el display
u8g2.print(alarma);//Se muestra el valor al cual el buzzer va a empezar a sonar
u8g2.print("^C");//Se muestra ^C en el display
//Si la tempetura es mayor o igual a 50 grados se muestra en el display Alerta!!!
if(i >= alarma){
u8g2.setCursor(0, 60); // Establece la posición de la posición del texto
u8g2.print("Alerta!!!");//Se muestra Alerta!!! en el display
}
u8g2.sendBuffer(); // Envia el contenido del buffer a la pantalla
}