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

Датчик расхода воды
Датчик потока (расхода) воды, как следует из названия, представляет собой устройство для измерения расхода воды. Датчик расхода воды, используемый в этом проекте, показан на рисунке ниже.

Он имеет пластиковый корпус клапана с ротором и цепь датчика Холла. Датчи имеет три провода, а именно + 5 В (красный), GND (черный) и выход (желтый). Поскольку он работает от напряжения +5 В, он может быть подключен к любому микроконтроллеру, например, к Arduino. Сверху есть ярлык с важной информацией о датчике. Информация на этой этикетке выглядит следующим образом:
- Модель: YF-S201
- Рабочий диапазон: 1 - 30 л / мин
- Давление воды: менее 1,75 МПа
В нижней части датчика имеется маркировка в виде стрелки, указывающая необходимое направление потока воды через датчик. Таким образом, важно при подключении этого датчика к трубе, убедитесь, что вы следуете этому направлению.

Датчик потока воды реализован с использованием датчика эффекта Холла. Таким образом, работу датчика потока воды можно легко понять, если вы знакомы с датчиком Холла. По сути, датчик потока воды YF-S201 состоит из вращающегося колеса (или турбинного колеса), которое вращается, когда вода проходит через датчик. В центре этого колеса закреплен магнит.
Теперь перейдем к датчику Холла. Датчик Холла, используемый в этом датчике расхода воды, представляет собой интегральную схему 460S в корпусе TO-92.

На основании данных, предоставленных Honeywell, работа датчика Холла 460S выглядит следующим образом: когда южный полюс магнита направлен в сторону микросхемы, выходной сигнал датчика в низком логическом уровне, а когда северный полюс магнита к микросхеме, тогда выход в высоком логическом уровне. Помня об этом, когда вода протекает через датчик потока воды YF-S201, колесо заслонки вращается под действием силы воды, и в результате магнит, прикрепленный к нему, также будет вращаться.

В результате магнитное поле рядом с датчиком Холла меняет полярность, поскольку колесо заслонки вращается, и выходной сигнал датчика (на выходном контакте – желтый провод) будет импульсным. Отслеживая количество импульсов с выхода датчика потока воды, вы можете легко рассчитать количество воды, протекающей через датчик, и, как результат, скорость потока воды.
Схема подключения Arduino и датчика потока воды

Подключите красный и черный провода датчика потока воды YF-S201 к + 5В и GND. Так как мы будем использовать функцию прерывания Arduino, к выходу датчика расхода воды можно подключить только выводы 2 и 3 цифрового порта ввода/вывода. В этом проекте мы подключили выход датчика потока воды (желтый провод) к выводу 2 цифрового порта ввода/вывода Arduino UNO.
Код программы взаимодействия Arduino и датчика расхода воды
Код для интерфейса датчика потока воды с Arduino приведен ниже. В коде есть небольшой расчет, который мы объясним далее.
const int watermeterPin = 2;
volatile int pulse_frequency;
unsigned int literperhour;
unsigned long currentTime, loopTime;
byte sensorInterrupt = 0;
void setup()
{
pinMode(watermeterPin, INPUT);
Serial.begin(9600);
attachInterrupt(sensorInterrupt, getFlow, FALLING);
currentTime = millis();
loopTime = currentTime;
}
void loop ()
{
currentTime = millis();
if(currentTime >= (loopTime + 1000))
{
loopTime = currentTime;
literperhour = (pulse_frequency * 60 / 7.5);
pulse_frequency = 0;
Serial.print(literperhour, DEC);
Serial.println(" Liter/hour");
}
}
void getFlow ()
{
pulse_frequency++;
}
Расчеты для работы датчика расхода воды
Результатом проекта является отображение количества воды, протекающей через датчик, в литрах в час, как показано ниже. Для того, чтобы получить это, есть небольшой расчет.

Согласно документации датчика расхода воды YF-S201, поскольку выходной сигнал датчика представляет собой импульс, вычисляя частоту импульса, мы можем рассчитать объем воды, протекающей через датчик. Частота импульсов в Гц составляет 7,5 * Расход (в литрах в минуту). Таким образом, количество воды в литрах в час = частота импульсов * 60 / 7,5.
© digitrode.ru