Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_r_1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
835.58 Кб
Скачать

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);

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]