- Какво представлява мътността в течността?
- Как да се измери мътността с помощта на Arduino?
- Компоненти, необходими за измерване на мътността
- Преглед на сензора за мътност
- Основни характеристики на модула за мътност
- Свързване на сензора за мътност с Arduino - схема на веригата
- Програмиране на Arduino за измерване на мътността във водата
Що се отнася до течностите, мътността е важен термин. Тъй като играе важна роля в динамиката на течностите и се използва също за измерване на качеството на водата. Така че в този урок, нека обсъдим какво е мътността, как да измерим мътността на течността с помощта на Arduino. Ако искате да продължите този проект по-нататък, можете също да помислите за свързване на рН-метър с Arduino и също да прочетете стойността на рН на водата, за да оцените по-добре качеството на водата. По-рано сме изградили и устройство за наблюдение на качеството на водата, базирано на IoT, използвайки ESP8266, можете също да проверите това, ако се интересувате. Като се каза това, нека да започнем
Какво представлява мътността в течността?
Мътността е степента или нивото на облачност или замъгленост на течността. Това се случва поради наличието на голям брой невидими частици (с просто око), подобни на бял дим във въздуха. Когато светлината преминава през течности, светлинните вълни се разпръскват поради наличието на тези малки частици. Мътността на течността е право пропорционална на свободните суспендирани частици, т.е. ако броят на частиците се увеличава, мътността също ще се увеличи.
Как да се измери мътността с помощта на Arduino?
Както споменах по-рано, мътността се случва поради разсейването на светлинните вълни, за да измерим мътността, трябва да измерим разсейването на светлината. Мътността обикновено се измерва в нефелометрични единици за мътност (NTU) или единици за мътност на Джаксън (JTLJ), в зависимост от използвания метод за измерване. Двете единици са приблизително равни.
Сега нека видим как работи сензорът за мътност, той има две части, предавател и приемник. Предавателят се състои от светлинен източник, обикновено led и драйвер. В края на приемника има светлинен детектор като фотодиод или LDR. Поставяме решението между предавателя и приемника.
Предавателят просто предава светлината, че светлинните вълни преминават през разтвора и приемникът получава светлината. Обикновено (без наличието на решение) излъчената светлина напълно получава от страната на приемника. Но при наличието на мътни разтвори, количеството пропусната светлина е много ниско. Това е от страната на приемника, получаваме само светлина с ниска интензивност и тази интензивност е обратно пропорционална на мътността. Така че можем да измерим мътността, като измерим интензивността на светлината, ако интензивността на светлината е висока, разтворът е по-малко мътен и ако интензивността на светлината е много ниска, това означава, че разтворът е по-мътен.
Компоненти, необходими за измерване на мътността
- Модул за мътност
- Arduino
- 16 * 2 I2C LCD
- Общ катоден RGB LED
- Макет
- Джъмперни проводници
Преглед на сензора за мътност
Сензорът за мътност, използван в този проект, е показан по-долу.
Както можете да видите, този модул на сензора за мътност се предлага с 3 части. Водоустойчив проводник, верига на водача и свързващ проводник. Тестовата сонда се състои както от предавателя, така и от приемника.
Горното изображение показва, че този тип модул използва IR диод като източник на светлина и IR приемник като детектор. Но принципът на работа е същият както преди. Частта на драйвера (показана по-долу) се състои от операционен усилвател и някои компоненти, които усилват открития светлинен сигнал.
Действителният сензор може да бъде свързан към този модул чрез JST XH конектор. Той има три щифта, VCC, земя и изход. Vcc се свързва към 5v и земята към земята. Изходът на този модул е аналогова стойност, която се променя в зависимост от интензивността на светлината.
Основни характеристики на модула за мътност
- Работно напрежение: 5VDC.
- Ток: 30mA (MAX).
- Работна температура: -30 ° C до 80 ° C.
- Съвместим с Arduino, Raspberry Pi, AVR, PIC и др.
Свързване на сензора за мътност с Arduino - схема на веригата
Пълната схема за свързване на сензора за мътност към Arduino е показана по-долу, схемата е проектирана с помощта на EasyEDA.
Това е много проста електрическа схема. Изходът на сензора за мътност е аналогов, така че свързан към A0 пина на Arduino, I2C LCD, свързан към I2C щифтове на Arduino, който е SCL към A5 и SDA към A4. След това RGB светодиодът е свързан към цифрови щифтове D2, D3 и D4. След като свързването свърши, моята хардуерна настройка изглежда по-долу.
Свържете VCC на сензора към Arduino 5v, след това свържете земята към земята. Изходният щифт на сензора към аналогов 0 на Arduino. След това свържете VCC и земята на LCD модула към 5v и земята на Arduino. След това SDA към A4 и SCL до A5, тези два щифта са I2C щифтовете на Arduino. накрая свързва земята на RGB LED със земята на Arduino и свързва зелено към D3, синьо към D4 и червено към D5.
Програмиране на Arduino за измерване на мътността във водата
Планът е да се покажат стойностите на мътност от 0 до 100. Тоест измервателният уред трябва да показва 0 за чиста течност и 100 за силно мътни. Този код на Arduino също е много прост и пълният код може да бъде намерен в долната част на тази страница.
Първо, включих библиотеката с течни кристали I2C, защото използваме I2C LCD, за да сведем до минимум връзките.
# включва
След това задавам цяло число за вход на сензора.
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 дисплея.
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 ("CLEAR"); }
Това ще активира зеления светодиод и ще покаже "ясно" на LCD, ако стойността на мътността е под 20.
if ((мътност> 20) && (мътност <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("неговата ОБЛАЧНОСТ"); }
Това ще активира син светодиод и ще покаже "облачно" на LCD, ако стойността на мътността е между 20 и 50.
if ((мътност> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("неговият МРЪСЕН"); }
Това ще активира червения светодиод и ще покаже "мръсно е" на LCD, ако мътността е по-голяма от 50, както е показано по-долу.
Просто следвайте електрическата схема и качете кода, ако всичко върви правилно, трябва да можете да измервате мътността на водата и LCD дисплеят да показва качеството на водата, както е показано по-горе.
Имайте предвид, че този измервател на мътността показва процента на мътност и може да не е точна индустриална стойност, но все пак може да се използва за сравняване на качеството на водата на две води. Цялостната работа на този проект може да бъде намерена във видеото по-долу. Надявам се да ви е харесал урокът и да научите нещо полезно, ако имате някакъв въпрос, можете да ги оставите в раздела за коментари по-долу или да използвате форумите CircuitDigest за публикуване на техническите си въпроси или да започнете съответна дискусия.