1.4 Датчик температуры ky-013
Модуль содержит аналоговый датчик температуры – терморезистор. С изменением температуры корпуса терморезистора меняется его сопротивление [7]. С помощью модуля KY-013 электроника грубо определяет температуру воздуха. Основное назначение терморезистора – контроль температуры воздуха, но с его помощью можно контролировать температуру поверхности. Для этого он прижимается механическим креплением к поверхности, а между терморезистором и поверхностью вносят термопроводящую пасту. В крайнем случае при отсутствии пасты терморезистор приклеивают. В автоматике используется для грубого определения температуры, что позволяет включать или отключать исполнительные устройства с помощью схем на дискретных элементах. Основное назначение – коррекция, стабилизация режима работы цепей схем при колебаниях температуры. Для точного измерения температуры, сборки электронных термометров применяют цифровой датчик. Схема датчика KY-013 представлена на Рисунке 7.
Рисунок 7 — Схема датчика температуры KY-013
На рисунке 8 представлено назначение контактов датчика температуры KY-013.
Рисунок 8 — Назначение контактов датчика температуры KY-013
Контакты:
«-» – земля (обший);
«средний контакт» – питание;
«S» – цифровой выход.
Характеристики:
Диапазон рабочей температуры -55…125 °C
Программный код в Arduino:
//KY-002 вибродатчик
double Thermistor(int RawADC)
{
double Temp;
Temp = log(((10240000/RawADC-10000)));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp — 273.15; // Перевод из Кельвинов в градусы Цельсия
return Temp;
}
void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop()
{
int val=map(analogRead(A0),0,1023,1023,0);
if(Thermister(val)>20)digitalWrite(13,HIGH); //Загорается диод на плате при переходе за 20 градусов
if(Thermister(val)<=20)digitalWrite(13,LOW); //Гаснет диод на плате при падении температуры ниже 20
Serial.println(Thermister(val)); //Показать температуру
delay(500);
}
2 Сборка системы
Чтобы система была универсальной, то есть применимой для разных объектов контроля, было решено смонтировать систему, состоящую из датчиков, в единый корпус. Получаемая система будет включать в себя следующие элементы: датчики контроля (датчик удара KY-031, датчик вибраций KY-002, датчик температуры KY-013), плата Arduino, макетная плата для монтажа без пайки SYB-120 , гибкие проводники, звуковой оповещатель (динамик), кнопка управления и батарея. Схема полученной системы представлена на Рисунке 9.
Рисунок 9 — Схема «охранной системы»
Программный код «охранной системы» на Arduino представлен ниже:
const int shockSensor = 10;
const int Shock = 9;
const int led_1 = 11;
const int led_2 = 12;
const int led_3 = 13;
int value1;
int value2;
int sensorPin = A5;
double Thermister(int RawADC){
double Temp;
Temp = log(10000.0*((1024.0/RawADC-1)));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = (Temp - 273.15) ;
return Temp;
}
void setup()
{
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(shockSensor, INPUT);
pinMode(Shock, INPUT);
Serial.begin(9600);
}
void loop()
{int val = map(analogRead(A0), 0, 1023, 1023, 0);
if (Thermister(val)>23)
{
digitalWrite(led_1,HIGH);
}
else
{
digitalWrite(led_1,LOW);
}
value1 = digitalRead (shockSensor);
if (value1==HIGH)
{
digitalWrite(led_2,HIGH);
}
else
{
digitalWrite(led_2,LOW);
}
value2 = digitalRead (Shock);
if (value2==HIGH)
{
digitalWrite(led_3,HIGH);
}
else
{
digitalWrite(led_3,LOW);
}
Serial.println(Thermister(val));
delay(500);
}
