Содержание
Эта статья расскажет вам, как применять датчик протечки и дождя 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 секунд.
Подведем итоги
Преимуществом данного блока является простота исполнения, удобство использования и низкая стоимость. Датчик можно легко подключить к аналоговому или цифровому выходу. Значения выводятся с помощью стандартной функции analogRead. С помощью полученных данных можно включать в работу оповещение или другие устройства, используя для этого реле.
Похожие записи
На Arduino можно довольно интересный проект начального уровня - цифровые игральные кости. При помощи которых можно генерировать случайное число от 1 до 6. ...
Системы заземления, используемые для выполнения заземления. Среди критериев, способствующих обеспечению защиты от такого процесса, как поражение электричеством, особого внимания...
В Европе для маркировки кабеля используются свои стандарты и нормативные документы. Чтобы расшифровать маркировку импортного кабеля, необходимо знать, что обозначает конкретная...
Сервопривод (servo) - устройство с электрическим мотором, которому можно задать определенный угол поворота и зафиксировать в определенном положении. Подключение сервопривода к Arduino очень...
Представленная схема полицейской мигалки на микроконтроллере и светодиодах может работать в 16 различных режимах. Режим выбирается при помощи одной кнопки, и собрана на микроконтроллере...
Функция setup() вызывается первой когда запускается скетч. Эта функция необходима для инициализации переменных, настройки режимов работы портов (выводов), для старта каких либо функций...