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

Мутность – это степень или уровень загрязненности жидкости. Это происходит из-за наличия в воздухе большого количества невидимых (невооруженным глазом) частиц, похожих на белый дым. Когда свет проходит через жидкости, световые волны рассеиваются из-за присутствия этих крошечных частиц. Мутность жидкости прямо пропорциональна свободным взвешенным частицам, то есть, если количество частиц увеличивается, мутность также увеличивается.

Помутнение возникает из-за рассеяния световых волн, чтобы измерить мутность, мы должны измерить рассеяние света. Мутность обычно измеряется в нефелометрических единицах мутности (NTU) или единицах мутности Джексона (JTLJ), в зависимости от метода, используемого для измерения. Эти две единицы примерно равны. Теперь же посмотрим, как работает датчик мутности, он состоит из двух частей, передатчика и приемника. Передатчик состоит из источника света, обычно светодиода и схемы драйвера. На стороне приемника есть детектор света, такой как фотодиод или LDR. Помещаем раствор между передатчиком и приемником.

Передатчик просто передает свет, световые волны проходят через раствор, а приемник принимает свет. Обычно (без наличия раствора) проходящий свет полностью принимается на приемной стороне. Но в присутствии мутного раствора количество проходящего света очень мало. То есть на стороне приемника мы получаем только свет низкой интенсивности, и эта интенсивность обратно пропорциональна мутности. Таким образом, мы можем измерить мутность путем измерения интенсивности света, если интенсивность света высокая, раствор менее мутный, а если интенсивность света очень низкая, это означает, что раствор более мутный.
На основе данной концепции мы можем собрать свое устройство проверки качества воды на основе Arduino, датчика мутности и вспомогательных компонентов.

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

Как видите, этот модуль датчика мутности состоит из 3 частей. Водонепроницаемый провод, схема драйвера и соединительный провод. Измерительный зонд состоит из передатчика и приемника.

На изображении выше показано, что этот тип модуля использует ИК-диод в качестве источника света и ИК-приемник в качестве детектора. Но принцип работы такой же, как и было описано раньше. Драйвера (показанный ниже) состоит из операционного усилителя и некоторых компонентов, которые усиливают обнаруженный световой сигнал.

Датчик может быть подключен к этому модулю с помощью разъема JST XH. Он имеет три контакта, питание (VCC), землю (GND) и выход (Out Analog). Vcc подключается к 5 В, а земля к земле. Выход этого модуля представляет собой аналоговое значение, которое изменяется в зависимости от интенсивности света. Полная схема подключения датчика мутности к Arduino с сопутствующими компонентами показана далее.

Это очень простая принципиальная схема. Выход датчика мутности является аналоговым, так что он подключен к контакту A0 Arduino, ЖК-дисплей I2C подключен к контактам I2C Arduino, то есть SCL к A5 и SDA к A4. Затем светодиод RGB подключается к цифровым контактам D2, D3 и D4. После того, как соединения будут выполнены, устройство может выглядеть следующим образом:

План работы устройства состоит в том, чтобы отображать значения мутности от 0 до 100. То есть измеритель должен отображать 0 для чистой жидкости и 100 для очень мутной. Реализующий данный принцип код Arduino также очень прост и приведен далее.
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 16);
int sensorPin = A0;
void setup()
{
Serial.begin(9600);
lcd.begin();
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
int sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
int turbidity = map(sensorValue, 0, 750, 100, 0);
delay(100);
lcd.setCursor(0, 0);
lcd.print("turbidity:");
lcd.print(" ");
lcd.setCursor(10, 0);
lcd.print(turbidity);
delay(100);
if (turbidity < 20) {
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
lcd.setCursor(0, 1);
lcd.print(" its CLEAR ");
}
if ((turbidity > 20) && (turbidity < 50)) {
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
lcd.setCursor(0, 1);
lcd.print(" its CLOUDY ");
}
if (turbidity > 50) {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
lcd.setCursor(0, 1);
lcd.print(" its DIRTY ");
}
}
Загрузите код в Arduino, если все подключения были выполнены правильно, вы сможете измерить мутность воды, а на ЖК-дисплее должно отображаться качество воды.

© digitrode.ru