Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Сигнализатор замерзших труб на 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

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

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

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (1) | Я собрал (0) | Подписаться

+1
Vascom #
Так это и на компараторе вроде можно сделать. Зачем же усложнять?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
200 Вт усилитель класса D на IRS2092 Мультиметр Mastech MS8268
вверх