Сигналізатор замерзлих труб на Arduino

Скоро прийде справжня зима, і до неї потрібно підготуватися. Якщо ви живете в холодному кліматі, тоді вам необхідно подбати про проблему замерзання труб. Існує багато превентивних заходів, які ви можете вжити, наприклад, заізолювати труби і більше не думати про це. Але ми підемо іншим шляхом. У цьому проекті йтиметься про простий сигналізаційний пристрій, яке буде вас сповіщати, коли труби стають занадто холодними і виникає небезпека їх замерзання.

Крок 1: Відео цього проекту

Крок 2: Використовувані компоненти

Нижче наведені компоненти та інструменти, використані в цьому проекті.

Компоненти:
Мікроконтролер Arduino
Терморезистор
Резистор номіналом 10 кОм
Довгі провідники
Світлодіоди
П'єзо-пристрій звукової сигналізації
Корпус
Друкована плата
Склянка з крижаною водою
Пластиковий пакет

Інструменти:
Паяльник
Ніж

Крок 3: Збірка датчика температури

Датчик температури складається з терморезистора (температурно-залежне опір), який послідовно з'єднується з постійним резистором. Два ці резистори утворюють дільник напруги. При зміні температури змінюється опір терморезистора. Це, в свою чергу, призводить до зміни напруги між двома резисторами. Це зміна напруги вимірюється мікроконтролером Arduino.

Підключіть один вивід постійного резистора до виводу GND на Arduino. Далі підключіть другий вивід до аналогового входу. Один вивід терморезистора підключіть до виводу 5V, а другий вивід терморезистора до того ж аналогового входу. Тепер ви можете використовувати функцію AnalogRead для вимірювання зміни напруги.

Для установки терморезистора всередині стіни, в якій розташовані труби, я використав пару довгих навісних провідників.

Крок 4: Програмний код Arduino

Тут представлений приклад програмного коду, який дозволяє використовувати ваш датчик температури

int AlarmOneInputPin = 0;              // sensor connected to analog pin 0
int AlarmOneOutputPin = 9;             // Alarm connected to digital pin 9
                     
int AlarmOneInputValue = 0;            // variable to store the value read
int AlarmOneTriggerValue = 350;        // alarm set value


void setup()
{
  pinMode(AlarmOneOutputPin, OUTPUT);      // sets the digital pin as output
  Serial.begin(9600);                      // setup serial
}

void loop()
{

  AlarmOneInputValue = analogRead(AlarmOneInputPin);    // read the input pin
  Serial.println(AlarmOneInputValue);                   // debug value

  if(AlarmOneInputValue < AlarmOneTriggerValue)         // flash the alarm if the sensor value is below the trigger value
  {
    digitalWrite(AlarmOneOutputPin, HIGH);   // turns the alarm on
    delay(1000);                             // waits for a second
    digitalWrite(AlarmOneOutputPin, LOW);    // turns the alarm off
    delay(1000);                             // waits for a second
  }
  else
  {
    digitalWrite(AlarmOneOutputPin, LOW);    // turns the alarm off
    delay(1000);                             // waits for a second
  }

}

Крок 5: Калібрування датчика

Перед використанням пристрою необхідно виконати калібрування датчика. Для цього знадобиться склянка з крижаною водою. Вставте терморезистор всередину маленького пластикового пакета. Далі занурте його в крижаній воді. Вода повинна бути трохи теплішою, ніж точка замерзання.

Тепер використовуйте функцію AnalogRead на мікроконтролері Arduino для вимірювання напруги між двома резисторами. Результат буде відображатися по шкалі значень від 0 до 1023 (що еквівалентно напрузі від 0 до 5В). У моєму випадку датчик зафіксував величину 300. Тобто дане значення і є точкою замерзання. Тому для цього значення необхідно активувати аварійний сигнал.

Для установки значення аварійної температури відкрийте файл з кодом програми і встановіть значення змінної "AlarmOneTriggerValue" на 300 (або на ваше значення).

Крок 6: Створення пристрою аварійної сигналізації

Для сповіщення про аварію я використав світлодіод і п'єзо-сигнал. Я підключив їх паралельно, тому їх можна активувати одночасно за допомогою одного цифрового виходу Arduino. Який би з елементів сигналізації ви не використовували, необхідно пам'ятати, що цифрові виходи підтримують максимальний вихідний струм не вище 40 мА. Тому для більш потужного навантаження необхідно зібрати схему управління з використанням реле або потужного транзистора.

Спершу я зібрав прототип пристрою аварійної сигналізації на макетній платі. Далі я його спаяв на маленькій друкованій платі. Я підключив негативний вивід пристрою сигналізації до виходу GND на Arduino, а позитивний вивід до цифрового виходу 9.

Після того, як пристрій сигналізації запрацювало, я помістив його в маленький корпус. Для того щоб всі компоненти вмістилися всередині, я просвердлив отвір у центрі для світлодіода і вирізав паз у боковій стороні для проводів.

Крок 7: Установка датчика температури всередину стіни

Тепер необхідно встановити датчик температури всередині стіни, біля труб. Якщо навколо труб є невелике отвір, то можна просунути датчик над ними. В іншому випадку просвердліть невелике отвір.

Візьміть головку свердла трохи більшу за діаметром, ніж сам датчик. Просвердліть отвір якомога ближче до середньої частини труби. Після цього вставте датчик всередину стіни і розташовуйте ближче до труб. При необхідності використовуйте клейку стрічку для закріплення датчика на місці.

Крок 8: Використовуйте датчик для контролю ваших труб

На завершення необхідно прикріпити пристрій аварійної сигналізації на видному місці. Тепер у зимовий період ви зможете знати, в якому стані знаходяться ваші труби.

Ви можете додати ще кілька датчиків, згідно з кількістю аналогових входів на мікроконтролері. Один мікроконтролер Arduino Uno дозволяє контролювати до шести датчиків.

Подібний датчик можна використовувати в якості пристрою автоматичного управління електричним нагрівачем труб. У цьому випадку знадобиться управляюча схема реле або модуль PowerSwitch Tail.

Оригінал статті

Прикріплені файли:

Top