- Що таке помутніння в рідині?
- Як виміряти каламутність за допомогою Arduino?
- Компоненти, необхідні для виготовлення вимірювача каламутності
- Огляд датчика каламутності
- Основні характеристики модуля помутніння
- Взаємозв'язок датчика каламутності з Arduino - принципова схема
- Програмування Arduino для вимірювання каламутності у воді
Що стосується рідин, помутніння є важливим терміном. Оскільки він відіграє важливу роль у динаміці рідини, а також використовується для вимірювання якості води. Тож у цьому підручнику давайте обговоримо, що таке каламутність, як виміряти каламутність рідини за допомогою Arduino. Якщо ви хочете продовжити цей проект далі, ви також можете розглянути можливість взаємодії рН-метра з Arduino, а також прочитати значення рН води, щоб краще оцінити якість води. Раніше ми також створили пристрій для контролю якості води на основі IoT, використовуючи ESP8266, ви також можете перевірити це, якщо зацікавлені. Сказано, давайте почнемо
Що таке помутніння в рідині?
Помутніння - це ступінь або рівень помутніння або помутніння рідини. Це відбувається через наявність великої кількості невидимих частинок (неозброєним оком), подібних до білого диму в повітрі. Коли світло проходить через рідини, світлові хвилі розсіюються завдяки наявності цих крихітних частинок. Каламутність рідини прямо пропорційна вільним зваженим частинкам, тобто якщо кількість частинок збільшується, каламутність також збільшиться.
Як виміряти каламутність за допомогою Arduino?
Як я вже згадував раніше, помутніння відбувається внаслідок розсіювання світлових хвиль, щоб виміряти помутніння, слід виміряти розсіяння світла. Каламутність зазвичай вимірюється в нефелометричних одиницях помутніння (NTU) або одиницях помутніння Джексона (JTLJ), залежно від методу, що використовується для вимірювання. Ці дві одиниці приблизно рівні.
Тепер давайте подивимося, як працює датчик каламутності, він складається з двох частин - передавача та приймача. Передавач складається з джерела світла, як правило, світлодіодного та схеми драйвера. У кінці приймача є детектор світла, такий як фотодіод або LDR. Розташовуємо рішення між передавачем і приймачем.
Передавач просто пропускає світло, світлові хвилі проходять через розчин, а приймач приймає світло. Зазвичай (без присутності розчину) передане світло повністю отримує на стороні приймача. Але за наявності каламутного розчину кількість пропускається світла дуже мала. Тобто на стороні приймача ми отримуємо лише світло низької інтенсивності, і ця інтенсивність обернено пропорційна каламутності. Отже, ми можемо виміряти каламутність, вимірюючи інтенсивність світла, якщо інтенсивність світла висока, розчин менш каламутний, а якщо інтенсивність світла дуже низька, це означає, що розчин є більш каламутним.
Компоненти, необхідні для виготовлення вимірювача каламутності
- Модуль помутніння
- Ардуїно
- 16 * 2 I2C РК-дисплей
- Світлодіод RGB із загальним катодом
- Макет
- Провід перемички
Огляд датчика каламутності
Датчик каламутності, що використовується в цьому проекті, показаний нижче.
Як бачите, цей модуль датчика помутніння складається з 3 частин. Водонепроникний провід, ланцюг драйвера та сполучний провід. Випробувальний зонд складається як з передавача, так і з приймача.
На наведеному вище зображенні показано, що цей тип модуля використовує ІЧ-діод як джерело світла, а ІЧ-приймач як детектор. Але принцип роботи такий же, як і раніше. Частина драйвера (показана нижче) складається з операційного підсилювача та деяких компонентів, які підсилюють виявлений світловий сигнал.
Фактичний датчик можна підключити до цього модуля за допомогою роз'єму JST XH. Він має три штифти, VCC, землю і вихід. Vcc підключається до 5v і від землі до землі. Вихід цього модуля є аналоговим значенням, тобто він змінюється відповідно до інтенсивності світла.
Основні характеристики модуля помутніння
- Робоча напруга: 5 В постійного струму.
- Струм: 30 мА (МАКС.).
- Робоча температура: від -30 ° C до 80 ° C.
- Сумісний з Arduino, Raspberry Pi, AVR, PIC тощо.
Взаємозв'язок датчика каламутності з Arduino - принципова схема
Повна схема підключення датчика каламутності до Arduino показана нижче, схема була розроблена за допомогою EasyEDA.
Це дуже проста принципова схема. Вихід датчика каламутності є аналоговим, так що підключений до виводу A0 Arduino, РК-дисплей I2C, підключений до висновків I2C Arduino, тобто SCL до A5 і SDA до A4. Потім світлодіод RGB підключений до цифрових контактів D2, D3 та D4. Після підключення моє апаратне налаштування виглядає наступним чином.
Підключіть VCC датчика до Arduino 5v, а потім підключіть землю до землі. Вихідний штифт датчика на аналог 0 Arduino. Далі підключіть VCC і землю РК-модуля до 5v і землю Arduino. Потім SDA до A4 та SCL до A5, ці два висновки є висновками I2C Arduino. нарешті, підключає землю RGB LED до землі Arduino і підключає зелений до D3, синій до D4, а червоний до D5.
Програмування Arduino для вимірювання каламутності у воді
У планах - відображення значень каламутності від 0 до 100. Тобто лічильник повинен відображати 0 для чистої рідини і 100 для сильно каламутних. Цей код Arduino також дуже простий, а повний код можна знайти внизу цієї сторінки.
По-перше, я включив бібліотеку рідких кристалів I2C, оскільки ми використовуємо РК-дисплей I2C, щоб мінімізувати зв’язки.
# включити
Потім я встановлюю ціле число для введення датчика.
int sensorPin = A0;
У розділі налаштування я визначив шпильки.
pinMode (3, ВИХІД); pinMode (4, ВИХІД); pinMode (5, ВИХІД);
У розділі циклу, як я вже згадував раніше, вихід датчика є аналоговим значенням. Тож нам потрібно прочитати ці значення. За допомогою функції Arduino AnalogRead ми можемо прочитати вихідні значення в розділі циклу.
int sensorValue = analogRead (sensorPin);
По-перше, нам потрібно зрозуміти поведінку нашого датчика, а це означає, що нам потрібно зчитувати мінімальне і максимальне значення датчика каламутності. ми можемо прочитати це значення на послідовному моніторі за допомогою функції serial.println .
Щоб отримати ці значення, спочатку прочитайте датчик вільно, без рішення. Я отримав значення близько 640, і після цього, помістіть чорну речовину між передавачем і приймачем, ми отримаємо значення, яке є мінімальним значенням, як правило, це значення дорівнює нулю. Отже, ми отримали 640 як максимум і нуль як мінімум. Тепер нам потрібно перетворити ці значення на 0-100
Для цього я використав функцію карти Arduino.
int каламутність = карта (sensorValue, 0,640, 100, 0);
Потім я відобразив ці значення на РК-дисплеї.
lcd.setCursor (0, 0); lcd.print ("каламутність:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (каламутність);
Після цього за допомогою if умови я дав різні умови.
якщо (каламутність <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("його ЧИСТО"); }
Це активує зелений світлодіод і відображає "чітко" на РК-дисплеї, якщо значення каламутності нижче 20.
if ((каламутність> 20) && (каламутність <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("його ОБЛАЧНІСТЬ"); }
Це активуватиме синій світлодіод і відображатиме "хмарно" на РК-дисплеї, якщо значення каламутності знаходиться між 20 і 50.
if ((каламутність> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("його БРУДНО"); }
Це активує червоний світлодіод і відображає на дисплеї "брудно", якщо значення каламутності більше 50, як показано нижче.
Просто дотримуйтесь принципової схеми і завантажте код, якщо все піде правильно, ви зможете виміряти каламутність води, а РК-дисплей повинен відображати якість води, як показано вище.
Зверніть увагу, що цей вимірювач каламутності відображає відсоток каламутності, і це може бути не точним промисловим значенням, але все-таки його можна використовувати для порівняння якості води двох вод. Повну роботу цього проекту можна знайти у відео нижче. Сподіваємось, вам сподобався підручник і ви дізнаєтесь щось корисне, якщо у вас виникли запитання, ви можете залишити їх у розділі коментарів нижче або скористатися форумами CircuitDigest для розміщення своїх технічних питань або розпочати відповідне обговорення.