- Mitä on sameus nesteessä?
- Kuinka mitata sameutta Arduinolla?
- Komponentit, joita tarvitaan sameusmittarin tekemiseen
- Katsaus sameusanturiin
- Sameusmoduulin tärkeimmät ominaisuudet
- Turbiditeettianturin ja Arduinon yhdistäminen - piirikaavio
- Arduinon ohjelmointi veden sameuden mittaamiseksi
Nesteiden osalta sameus on tärkeä termi. Koska sillä on tärkeä rooli nestedynamiikassa ja sitä käytetään myös veden laadun mittaamiseen. Joten keskustellaan tässä opetusohjelmassa, mikä on sameus, kuinka mitata nesteen sameus Arduinolla. Jos haluat viedä tätä projektia eteenpäin, voit myös harkita pH-mittarin liittämistä Arduinoon ja lukea myös veden pH-arvon arvioidaksesi paremmin veden laatua. Aikaisemmin olemme myös rakentaneet IoT-pohjaisen vedenlaadunvalvontalaitteen ESP8266: lla, voit myös tarkistaa sen, jos olet kiinnostunut. Siitä huolimatta aloitetaan
Mitä on sameus nesteessä?
Sameus on nesteen samenemisen tai sameuden aste tai taso. Tämä tapahtuu johtuen suuresta määrästä näkymättömiä hiukkasia (paljaalla silmällä), joka on samanlainen kuin ilmassa oleva valkoinen savu. Kun valo kulkee nesteiden läpi, valoaallot sironneet näiden pienten hiukkasten läsnäolon vuoksi. Nesteen sameus on suoraan verrannollinen vapaisiin suspendoituneisiin hiukkasiin, mikä tarkoittaa sitä, että myös hiukkasten määrä lisää sameutta.
Kuinka mitata sameutta Arduinolla?
Kuten aiemmin mainitsin, sameutta tapahtuu valoaaltojen sironnan takia, sameuden mittaamiseksi meidän tulisi mitata valon sironta. Sameus mitataan yleensä nefelometrisissä sameusyksiköissä (NTU) tai Jacksonin sameusyksiköissä (JTLJ) mittausmenetelmästä riippuen. Nämä kaksi yksikköä ovat suunnilleen samat.
Katsotaan nyt, kuinka sameusanturi toimii, sillä on kaksi osaa, lähetin ja vastaanotin. Lähetin koostuu valonlähteestä, tyypillisesti ledistä ja ohjainpiiristä. Vastaanottimen päässä on valodetektori, kuten fotodiodi tai LDR. Sijoitamme ratkaisun lähettimen ja vastaanottimen väliin.
Lähetin yksinkertaisesti lähettää valon, että valoaallot kulkevat liuoksen läpi ja vastaanotin vastaanottaa valon. Normaalisti (ilman liuoksen läsnäoloa) lähetetty valo vastaanottaa kokonaan vastaanottimen puolella. Mutta samean liuoksen läsnä ollessa läpäisevän valon määrä on hyvin pieni. Se on vastaanottimen puolella, saamme vain matalan intensiteetin valon ja tämä voimakkuus on kääntäen verrannollinen sameuteen. Joten voimme mitata sameuden mittaamalla valon voimakkuuden, jos valon voimakkuus on suuri, liuos on vähemmän samea ja jos valon voimakkuus on hyvin pieni, se tarkoittaa liuoksen sameutta.
Komponentit, joita tarvitaan sameusmittarin tekemiseen
- Sameusmoduuli
- Arduino
- 16 * 2 I2C LCD
- Yhteisen katodin RGB-LED
- Leipälauta
- Hyppääjän johdot
Katsaus sameusanturiin
Tässä projektissa käytetty sameusanturi on esitetty alla.
Kuten näette, tässä sameusanturimoduulissa on 3 osaa. Vedenpitävä johto, ohjainpiiri ja liitäntäjohto. Testauskoetin koostuu sekä lähettimestä että vastaanottimesta.
Yllä oleva kuva osoittaa, tämän tyyppinen moduuli käyttää IR-diodia valonlähteenä ja IR-vastaanotinta detektorina. Mutta toimintaperiaate on sama kuin aiemmin. Ohjainosa (esitetty alla) koostuu op-vahvistimesta ja joistakin komponenteista, jotka vahvistavat havaittua valosignaalia.
Varsinainen anturi voidaan liittää tähän moduuliin JST XH -liittimellä. Siinä on kolme nastaa, VCC, maa ja lähtö. Vcc kytkeytyy 5v: hen ja maa maahan. Tämän moduulin lähtö on analoginen arvo, eli se muuttuu valon voimakkuuden mukaan.
Sameusmoduulin tärkeimmät ominaisuudet
- Käyttöjännite: 5VDC.
- Virta: 30mA (MAX).
- Käyttölämpötila: -30 ° C - 80 ° C.
- Yhteensopiva Arduino, Raspberry Pi, AVR, PIC jne.
Turbiditeettianturin ja Arduinon yhdistäminen - piirikaavio
Täydellinen kaavio Turbidity-anturin liittämiseksi Arduinoon on esitetty alla, piiri on suunniteltu EasyEDA: n avulla.
Tämä on hyvin yksinkertainen piirikaavio. Sameusanturin lähtö on analoginen siten, että se on kytketty Arduinon A0-nastaan, I2C LCD kytketty Arduinon I2C-nastoihin, jotka ovat SCL - A5 ja SDA - A4. Sitten RGB-LED kytketään digitaalisiin nastoihin D2, D3 ja D4. Kun yhteydet on tehty, laitteistoni asetukset näyttävät tältä alla.
Liitä anturin VCC Arduino 5v -laitteeseen ja sitten maadoitus maahan. Anturin ulostulotapa Arduinon analogiin 0. Liitä seuraavaksi VCC ja LCD-moduulin maa 5v: hen ja Arduinon maahan. Sitten SDA - A4 ja SCL - A5, nämä kaksi nastaa ovat Arduinon I2C-nastat. lopuksi yhdistää RGB LED: n maadoituksen Arduinon maahan ja yhdistää vihreän D3: een, sininen D4: ään ja punainen D5: een.
Arduinon ohjelmointi veden sameuden mittaamiseksi
Suunnitelmana on näyttää sameusarvot 0: sta 100: een. Mittarin pitäisi näyttää 0 puhtaalle nesteelle ja 100 erittäin sameille. Tämä Arduino-koodi on myös hyvin yksinkertainen ja täydellinen koodi löytyy tämän sivun alareunasta.
Ensinnäkin sisällytin I2C-nestekidekirjaston, koska käytämme I2C-nestekidenäyttöä yhteyksien minimoimiseksi.
# sisältää
Sitten asetin anturin tulolle kokonaisluvun.
int-anturiPin = A0;
Määrittelin asennusosassa nastat.
pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT);
Kuten aiemmin mainitsin, silmukkaosassa anturin lähtö on analoginen arvo. Joten meidän on luettava nuo arvot. Arduino AnalogRead -toiminnon avulla voimme lukea lähtöarvot silmukkaosasta.
int sensorValue = analogRead (sensorPin);
Ensinnäkin meidän on ymmärrettävä anturin käyttäytyminen, mikä tarkoittaa, että meidän on luettava sameusanturin pienin ja suurin arvo. voimme lukea kyseisen arvon sarjaliitännästä käyttämällä serial.println- toimintoa.
Saadaksesi nämä arvot, lue ensin anturi vapaasti ilman ratkaisua. Sain arvon noin 640 ja aseta sen jälkeen musta aine lähettimen ja vastaanottimen väliin, saamme arvon, joka on vähimmäisarvo, yleensä arvo on nolla. Joten saimme maksimissaan 640 ja nollan vähintään. Nyt meidän on muunnettava nämä arvot 0-100: ksi
Tätä varten käytin Arduinon karttatoimintoa.
int sameus = kartta (anturin arvo, 0,640, 100, 0);
Sitten näytin nämä arvot LCD-näytössä.
lcd.setCursor (0, 0); lcd.print ("sameus:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (sameus);
Sen jälkeen annoin erilaiset ehdot if- ehtojen avulla.
if (sameus <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("sen TYHJENNYS"); }
Tämä aktivoi vihreän ledin ja näyttää "sen selkeän" LCD-näytöllä, jos sameusarvo on alle 20.
if ((sameus> 20) && (sameus <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("sen KUVAUS"); }
Tämä aktivoi sinisen ledin ja näyttää "sen samean" LCD-näytöllä, jos sameusarvo on välillä 20-50.
if ((sameus> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("sen DIRTY"); }
Tämä aktivoi punaisen ledin ja näyttää "se on likainen" LCD-näytöllä, jos sameusarvo on yli 50, kuten alla on esitetty.
Seuraa vain kytkentäkaaviota ja lataa koodi, jos kaikki menee oikein, sinun pitäisi pystyä mittaamaan veden sameus ja nestekidenäytön tulisi näyttää veden laatu yllä esitetyllä tavalla.
Huomaa, että tämä sameusmittari näyttää sameuden prosenttiosuuden ja se ei ehkä ole tarkka teollisuusarvo, mutta silti sitä voidaan käyttää kahden veden veden laadun vertaamiseen. Tämän projektin täydellinen toiminta löytyy alla olevasta videosta. Toivottavasti pidit opetusohjelmasta ja opit jotain hyödyllistä, jos sinulla on kysyttävää, voit jättää ne alla olevaan kommenttiosioon tai käyttää CircuitDigest-foorumeita teknisten kysymyksiesi lähettämiseen tai aloittaa asiaankuuluvan keskustelun.