Скоро придет настоящая зима и к ней нужно подготовиться. Если вы живете в холодном климате, тогда вам необходимо позаботиться о проблеме замерзания труб. Существует много превентивных мер, которые вы можете предпринять, например, заизолировать трубы и больше не думать об этом. Но мы пойдем другим путем. В данном проекте пойдет речь о простом сигнальном устройстве, которое будет вас оповещать, когда трубы становятся слишком холодными и появляется опасность их замерзания.
Шаг 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
Прикрепленные файлы:
- Frozen_Pipe_Alarm_Code.ino (1 Кб)