- Kaj je motnost v tekočini?
- Kako izmeriti motnost z uporabo Arduina?
- Komponente, potrebne za izdelavo merilnika motnosti
- Pregled senzorja motnosti
- Ključne značilnosti modula motnosti
- Povezovanje senzorja motnosti z Arduino - vezje
- Programiranje Arduina za merjenje motnosti v vodi
Pri tekočinah je motnost pomemben izraz. Ker ima pomembno vlogo pri dinamiki tekočin in se uporablja tudi za merjenje kakovosti vode. V tej vadnici torej razpravljajmo, kaj je motnost, kako izmeriti motnost tekočine z uporabo Arduina. Če želite nadaljevati ta projekt, lahko razmislite tudi o povezovanju pH-metra z Arduinom in preberete tudi pH-vrednost vode, da bolje ocenite kakovost vode. Prej smo z uporabo ESP8266 zgradili tudi napravo za spremljanje kakovosti vode, ki temelji na IoT, to lahko tudi preverite, če vas zanima. Kot rečeno, začnimo
Kaj je motnost v tekočini?
Motnost je stopnja ali stopnja oblačnosti ali motnosti tekočine. To se zgodi zaradi prisotnosti velikega števila nevidnih delcev (s prostim očesom), podobnih belemu dimu v zraku. Ko svetloba prehaja skozi tekočine, se svetlobni valovi razpršijo zaradi prisotnosti teh drobnih delcev. Motnost tekočine je neposredno sorazmerna s prostimi suspendiranimi delci, kar pomeni, da če se število delcev poveča, se bo tudi motnost povečala.
Kako izmeriti motnost z uporabo Arduina?
Kot sem že omenil, motnost nastane zaradi sipanja svetlobnih valov, da bi merili motnost, moramo meriti sipanje svetlobe. Motnost se običajno meri v nefelometričnih enotah motnosti (NTU) ali Jacksonovih enotah motnosti (JTLJ), odvisno od metode, uporabljene za merjenje. Obe enoti sta približno enaki.
Zdaj pa poglejmo, kako deluje senzor motnosti, ki ima dva dela, oddajnik in sprejemnik. Oddajnik je sestavljen iz svetlobnega vira, ki je običajno led in gonilniško vezje. Na koncu sprejemnika je detektor svetlobe, kot je fotodioda ali LDR. Rešitev postavimo med oddajnik in sprejemnik.
Oddajnik preprosto odda svetlobo, da skozi raztopino prehajajo svetlobni valovi in sprejemnik sprejme svetlobo. Običajno (brez prisotnosti raztopine) oddana svetloba v celoti sprejme sprejemno stran. Toda v prisotnosti motne raztopine je količina prepuščene svetlobe zelo majhna. Na strani sprejemnika dobimo le svetlobo z nizko intenzivnostjo in ta jakost je obratno sorazmerna z motnostjo. Motnost lahko torej izmerimo z merjenjem jakosti svetlobe, če je jakost svetlobe velika, raztopina manj motna in če je jakost svetlobe zelo nizka, to pomeni, da je raztopina bolj motna.
Komponente, potrebne za izdelavo merilnika motnosti
- Modul motnosti
- Arduino
- 16 * 2 I2C LCD
- RGB LED s skupno katodo
- Breadboard
- Jumper žice
Pregled senzorja motnosti
Senzor motnosti, uporabljen v tem projektu, je prikazan spodaj.
Kot lahko vidite, ima ta modul senzorja motnosti tri dele. Vodoodporen vodnik, vezje gonilnika in priključna žica. Preskusno sondo sestavljata oddajnik in sprejemnik.
Na zgornji sliki je razvidno, da ta tip modula uporablja IR diodo kot vir svetlobe, IR sprejemnik pa kot detektor. Toda načelo dela je enako kot prej. Vozniški del (prikazan spodaj) je sestavljen iz optičnega ojačevalnika in nekaterih komponent, ki ojačajo zaznani svetlobni signal.
Dejanski senzor lahko na ta modul povežete s pomočjo priključka JST XH. Ima tri zatiče, VCC, ozemljitev in izhod. Vcc se poveže s 5v in od tal do tal. Izhod tega modula je analogna vrednost, ki se spreminja glede na jakost svetlobe.
Ključne značilnosti modula motnosti
- Delovna napetost: 5VDC.
- Tok: 30mA (MAX).
- Delovna temperatura: -30 ° C do 80 ° C.
- Združljiv z Arduino, Raspberry Pi, AVR, PIC itd.
Povezovanje senzorja motnosti z Arduino - vezje
Celotna shema za priključitev senzorja motnosti na Arduino je prikazana spodaj, vezje je bilo zasnovano s pomočjo EasyEDA.
To je zelo preprost diagram vezja. Izhod senzorja motnosti je analogen, tako da je povezan z Arduinovim pinom A0, I2C LCD povezan z I2C nožicami Arduina, ki je SCL do A5 in SDA do A4. Nato je RGB LED povezan z digitalnimi nožicami D2, D3 in D4. Ko so povezave končane, je moja nastavitev strojne opreme videti spodaj.
VCC senzorja priključite na Arduino 5v, nato pa zemljo na tla. Izhodni zatič senzorja na analogni 0 Arduino. Nato priključite VCC in ozemljitev LCD modula na 5v in ozemljitev Arduino. Nato SDA na A4 in SCL na A5, ta dva zatiča sta I2C zatiča Arduino. končno poveže ozemljitev RGB LED z zemljo Arduino in zeleno priključi na D3, modro na D4 in rdečo na D5.
Programiranje Arduina za merjenje motnosti v vodi
V načrtu je prikazati vrednosti motnosti od 0 do 100. To pomeni, da mora merilnik prikazati 0 za čisto tekočino in 100 za zelo motne. Ta koda Arduino je tudi zelo preprosta in celotno kodo najdete na dnu te strani.
Najprej sem vključil knjižnico tekočih kristalov I2C, ker za zmanjšanje povezav uporabljamo LCD I2C.
# vključi
Nato nastavim celo število za vnos senzorja.
int sensorPin = A0;
V razdelku za nastavitev sem definiral nožice.
pinMode (3, IZHOD); pinMode (4, IZHOD); pinMode (5, IZHOD);
Kot sem že omenil, je v odseku zanke analogna vrednost izhoda. Torej moramo te vrednosti prebrati. S pomočjo funkcije Arduino AnalogRead lahko v odseku zanke beremo izhodne vrednosti.
int sensorValue = analogRead (sensorPin);
Najprej moramo razumeti vedenje našega senzorja, kar pomeni, da moramo prebrati najmanjšo vrednost in največjo vrednost senzorja motnosti. to vrednost lahko preberemo na serijskem monitorju s funkcijo serial.println .
Če želite pridobiti te vrednosti, najprej prosto preberite senzor brez rešitve. Dobil sem vrednost okoli 640 in po tem med oddajnik in sprejemnik postavimo črno snov, dobimo vrednost, ki je najmanjša vrednost, običajno je ta vrednost nič. Tako smo dobili 640 največ in nič kot najmanj. Zdaj moramo te vrednosti pretvoriti v 0-100
Za to sem uporabil funkcijo zemljevida Arduino.
int motnost = zemljevid (sensorValue, 0,640, 100, 0);
Nato sem te vrednosti prikazal na LCD zaslonu.
lcd.setCursor (0, 0); lcd.print ("motnost:"); lcd.print (""); lcd.setCursor (10, 0); lcd.tis (motnost);
Po tem sem s pomočjo pogojev if dal drugačne pogoje.
če (motnost <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("CLEAR"); }
Ta bo vključil zeleno lučko in na LCD-prikazovalniku prikazoval "jasno", če je vrednost motnosti pod 20.
if ((motnost> 20) && (motnost <50)) { digitalWrite (2, LOW); digitalWrite (3, VISOKO); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("OBLAČNOST"); }
Ta bo aktiviral modro led diodo in na LCD-prikazovalniku prikazal "svojo oblačnost", če je vrednost motnosti med 20 in 50.
if ((motnost> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("umazano"); }
To bo vključilo rdečo lučko in na LCD-prikazovalniku prikazalo "umazano", če je vrednost motnosti večja od 50, kot je prikazano spodaj.
Preprosto sledite vezju in naložite kodo, če gre vse pravilno, morate izmeriti motnost vode, LCD-prikazovalnik pa mora prikazati kakovost vode, kot je prikazano zgoraj.
Upoštevajte, da ta merilnik motnosti prikazuje odstotek motnosti in morda ni natančna industrijska vrednost, vendar ga je vseeno mogoče uporabiti za primerjavo kakovosti vode dveh voda. Popolno delovanje tega projekta najdete v spodnjem videoposnetku. Upam, da vam je bila vadnica všeč in če se imate kakšno vprašanje, naučili kaj koristnega, jih lahko pustite v spodnjem oddelku za komentarje ali uporabite forume CircuitDigest za objavo tehničnih vprašanj ali začnete ustrezno razpravo.