Шаг 5: Калибровка датчика




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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: