Эта статья расскажет вам, как применять датчик протечки и дождя Arduino. Устройство имеет несколько названий: датчик протечки, влаги, капель, утечки. Но называют его в основном датчик дождя. Хотя речь идет об одном и том же приборе, выполненном в виде готового блока. Датчик легко подключается к Arduino, схема подсоединения довольно проста, стоимость устройства невысокая.

Характеристика датчика

В проектах Arduino датчик дает возможность обнаружить появление влаги и своевременно оповестить об этом, включив сигнализацию. Системы Arduino широко применяются в сельском хозяйстве, в автомобилестроении, также в иных областях. Принцип действия основан на изменении сопротивления. Когда датчик сухой то сопротивление его равно бесконечности, а когда между электродами появляется влага то его сопротивление меняется — все крайне просто.

Модуль состоит из двух частей.

  • Сенсорная панель распознавания — обычный резистор переменного тока. Вода, попадая на плату, замыкает контакты, из-за чего изменяется значение сопротивления.
  • Двойной компаратор. Его задача состоит в преобразовании показателей с сенсора в аналоговый сигнал от 0 до 5 вольт. В разных видах датчиков сенсор и компаратор либо объединены, либо располагаются отдельно друг от друга.

Для питания датчика необходимо напряжение 5 В.

Модуль имеет два выхода:

  • Аналоговый. Величина, получаемая датчиком, будет изменяться в промежутке от 0 до 1023, где 0 – это означает ливень, и все затоплено водой, а 1023 – осадков нет, и сенсор полностью сухой. Ест приборы, в которых значения противоположные (0 – это максимально сухо, 1023 — максимально влажно).
  • Цифровой. Прибор выдает высокое(5В) или низкое значение в случае, если условная граница превышается. Уровень превышения регулируется подстрочным резистором.

Включение в работу датчика дождя

Чтобы подключит датчик к Arduino, нужна плата и собственно, сам прибор. Если есть необходимость проверить плотность осадков, то устройство рекомендуют располагать под углом, чтобы дать возможность влаге стекать вниз. Аналоговый вход подсоединяется к пину контроллера. Цифровой вход подсоединяется к цифровому пину. Напряжение подается от источника 5В платы Arduino, заземление соединяется между собой. При проектировании в обязательном порядке предусматривается защита электрической части от попадания воды.

Проект с дождевой сигнализацией.

Существует вариант, когда взамен сигнализации подключается реле, и тогда выполняются различные действия по размыканию цепи. В данном примере мы будем пересылать полученную информацию в монитор ячейки по UART-интерфейсу.

Пример скетча для проекта с применением сигнализации


#define PIN_RAIN_SENSOR A1  // Аналоговый вход для сигнала датчика протечки и дождя
#define PIN_ALERT 6         // Цифровой выход для сигнализации
#define MAX_COUNTER 30      // Пороговое значение для счетчика
#define ALERT_LEVEL 300     // Пороговое значение для счетчика
int curCounter= 0; // Счётчик для сбора "статистики", который увеличивается на 1 каждую секунду после срабатывания датчика
 
void setup(){
   Serial.begin(9600);
   pinMode(PIN_ALERT, OUTPUT);
   pinMode(PIN_RAIN_SENSOR, INPUT); // Можно не указывать, т.к. это значение по умолчанию
}
void loop(){
   int sensorValue = analogRead(PIN_RAIN_SENSOR);
   Serial.println(sensorValue); // Выводим значение в монитр порта
   delay(300); // короткая задержка
   // Если накопили достаточно оснований для включения сигнализации
   if (curCounter >= MAX_COUNTER){
      digitalWrite(PIN_ALERT, HIGH);  // Срабатывание сигнализации
      curCounter = MAX_COUNTER;       // Защита от переполнения переменной
   }
 
   // Определяем уровень влажности
   if (sensorValue < ALERT_LEVEL){
      // В очередной раз убедились, что все влажно, увеличиваем счетчик
      curCounter++;                 
   }else { 
      // Интенсивность дождя не превышает порога
      digitalWrite(PIN_ALERT, LOW); // Выключаем сигнализацию
      curCounter = 0; // Обнуляем счетчик
   }
   
   delay(1000); // Задержка между измерениями
}

В скетче представлен текстовый шифр, активирующий звуковой сигнал на цифровом разъеме 6, с временной выдержкой для исключения фальшивых включений при внезапном попадании влаги на поверхность сенсора. Функционирует устройство с помощью переменной, которая каждую секунду преобразовывается и выступает в качестве порога — curCounter.

Далее представлен код, активирующий звуковой сигнал на цифровом разъеме 6, с задержкой времени, для того, чтобы исключить ложные включения при нечаянном попадании водяных капель на сенсор. Сигнализация срабатывает в случае, если величина, пересылаемая с сенсора, будет менее 300. Интервал между выявлением влажность и включением звукового оповещения составляет около 30 секунд.

Схема подключения датчика дождя к Arduino

Подведем итоги

Преимуществом данного блока является простота исполнения, удобство использования и низкая стоимость. Датчик можно легко подключить к аналоговому или цифровому выходу. Значения выводятся с помощью стандартной функции analogRead. С помощью полученных данных можно включать в работу оповещение или другие устройства, используя для этого реле.

Похожие записи

Цифровые игральные кости на Arduino

На Arduino можно довольно интересный проект начального уровня - цифровые игральные кости. При помощи которых можно генерировать случайное число от 1 до 6. ...

Системы заземления TN-C, TN-S, TNC-S, TT, IT

Системы заземления, используемые для выполнения заземления. Среди критериев, способствующих обеспечению защиты от такого процесса, как поражение электричеством, особого внимания...

Маркировки кабеля европейских производителей

В Европе для маркировки кабеля используются свои стандарты и нормативные документы. Чтобы расшифровать маркировку импортного кабеля, необходимо знать, что обозначает конкретная...

Подключение сервопривода к Arduino

Сервопривод (servo) - устройство с электрическим мотором, которому можно задать определенный угол поворота и зафиксировать в определенном положении. Подключение сервопривода к Arduino очень...

Схема полицейской мигалки на микроконтроллере

Представленная схема полицейской мигалки на микроконтроллере и светодиодах может работать в 16 различных режимах. Режим выбирается при помощи одной кнопки, и собрана на микроконтроллере...

Функция setup() вызывается первой когда запускается скетч. Эта функция необходима для инициализации переменных, настройки режимов работы портов (выводов), для старта каких либо функций...

Только полноправные пользователи могут оставлять комментарии. Войдите , пожалуйста.