- Kas ir šķidruma duļķainība?
- Kā izmērīt duļķainību, izmantojot Arduino?
- Komponenti, kas nepieciešami duļķainības mērītāja izgatavošanai
- Duļķainības sensora pārskats
- Duļķainības moduļa galvenās iezīmes
- Sajaucamais duļķainības sensors ar Arduino - shēmas diagramma
- Arduino programmēšana ūdens duļķainuma mērīšanai
Runājot par šķidrumiem, duļķainība ir svarīgs termins. Tā kā tam ir svarīga loma šķidruma dinamikā, un to izmanto arī ūdens kvalitātes mērīšanai. Tātad šajā apmācībā apspriedīsim, kas ir duļķainība, kā izmērīt šķidruma duļķainību, izmantojot Arduino. Ja vēlaties turpināt šo projektu, varat arī apsvērt pH mērītāja sasaisti ar Arduino un arī nolasīt ūdens pH vērtību, lai labāk novērtētu ūdens kvalitāti. Iepriekš mēs esam izveidojuši arī IoT balstītu ūdens kvalitātes uzraudzības ierīci, izmantojot ESP8266, ja vēlaties, varat to pārbaudīt. To sakot, sāksim
Kas ir šķidruma duļķainība?
Duļķainība ir šķidruma mākoņainības vai duļķainības pakāpe vai līmenis. Tas notiek tāpēc, ka gaisā ir daudz neredzamu daļiņu (ar neapbruņotu aci), kas līdzīgi baltiem dūmiem. Kad gaisma iet caur šķidrumiem, gaismas viļņi izkliedējas šo sīko daļiņu klātbūtnes dēļ. Šķidruma duļķainība ir tieši proporcionāla brīvajām suspendētajām daļiņām, tas ir, ja palielināsies arī daļiņu skaits, palielināsies arī duļķainība.
Kā izmērīt duļķainību, izmantojot Arduino?
Kā jau minēju iepriekš, duļķainība notiek gaismas viļņu izkliedes dēļ, lai izmērītu duļķainību, mums vajadzētu izmērīt gaismas izkliedi. Duļķainību parasti mēra nefelometriskās duļķainības vienībās (NTU) vai Džeksona duļķainības vienībās (JTLJ) atkarībā no mērīšanai izmantotās metodes. Abas vienības ir aptuveni vienādas.
Tagad redzēsim, kā darbojas duļķainības sensors, tam ir divas daļas, raidītājs un uztvērējs. Raidītājs sastāv no gaismas avota, kas parasti ir LED un vadītāja shēma. Uztvērēja galā ir gaismas detektors, piemēram, fotodiods vai LDR. Mēs ievietojam šķīdumu starp raidītāju un uztvērēju.
Raidītājs vienkārši pārraida gaismu, ka gaismas viļņi iziet cauri šķīdumam un uztvērējs saņem gaismu. Parasti (bez šķīduma klātbūtnes) pārraidītā gaisma pilnībā uztverta uztvērēja pusē. Bet duļķainā šķīduma klātbūtnē caurlaidošās gaismas daudzums ir ļoti mazs. Tas ir uztvērēja pusē, mēs iegūstam tikai zemas intensitātes gaismu, un šī intensitāte ir apgriezti proporcionāla duļķainībai. Tātad, mēs varam izmērīt duļķainību, mērot gaismas intensitāti, ja gaismas intensitāte ir augsta, šķīdums ir mazāk duļķains un, ja gaismas intensitāte ir ļoti zema, tas nozīmē, ka šķīdums ir duļķaināks.
Komponenti, kas nepieciešami duļķainības mērītāja izgatavošanai
- Duļķainības modulis
- Arduino
- 16 * 2 I2C LCD
- Parastā katoda RGB LED
- Maizes dēlis
- Džemperu vadi
Duļķainības sensora pārskats
Šajā projektā izmantotais duļķainības sensors ir parādīts zemāk.
Kā redzat, šim duļķainības sensora modulim ir 3 daļas. Ūdensizturīgs vads, vadītāja ķēde un savienojošais vads. Testēšanas zondi veido gan raidītājs, gan uztvērējs.
Iepriekš redzamajā attēlā parādīts, ka šāda veida moduļos kā gaismas avots tiek izmantots IR diode un kā detektors IR uztvērējs. Bet darba princips ir tāds pats kā iepriekš. Vadītāja daļu (parādīts zemāk) veido op-amp un daži komponenti, kas pastiprina konstatēto gaismas signālu.
Faktisko sensoru var savienot ar šo moduli, izmantojot JST XH savienotāju. Tam ir trīs tapas, VCC, zemes un izeja. Vcc savienojas ar 5v un zemi uz zemi. Šī moduļa izeja ir analogā vērtība, ti, tā mainās atkarībā no gaismas intensitātes.
Duļķainības moduļa galvenās iezīmes
- Darba spriegums: 5VDC.
- Pašreizējais: 30mA (MAX).
- Darba temperatūra: -30 ° C līdz 80 ° C.
- Savietojams ar Arduino, Raspberry Pi, AVR, PIC utt.
Sajaucamais duļķainības sensors ar Arduino - shēmas diagramma
Pilnīga shēma, lai savienotu duļķainības sensoru ar Arduino, ir parādīta zemāk, ķēde tika veidota, izmantojot EasyEDA.
Šī ir ļoti vienkārša shēma. Duļķainības sensora izeja ir analoga, kas savienota ar Arduino A0 kontaktu, I2C LCD savienots ar Arduino I2C tapām, kas ir SCL līdz A5 un SDA līdz A4. Tad RGB gaismas diode ir savienota ar digitālajām tapām D2, D3 un D4. Pēc savienojumu izveides mana aparatūras iestatīšana izskatās šādi.
Savienojiet sensora VCC ar Arduino 5v, pēc tam pievienojiet zemi un zemi. Sensora izejas kontakts ar Arduino analogo 0. Pēc tam pievienojiet VCC un LCD moduļa zemi 5v un Arduino zemei. Tad no SDA līdz A4 un SCL līdz A5, šīs divas tapas ir Arduino I2C tapas. visbeidzot savieno RGB LED zemi ar Arduino zemi un savieno zaļu ar D3, zilu ar D4 un sarkanu ar D5.
Arduino programmēšana ūdens duļķainuma mērīšanai
Plānots parādīt duļķainības vērtības no 0 līdz 100. Tas ir, skaitītājam vajadzētu rādīt 0 tīram šķidrumam un 100 ļoti duļķainam. Šis Arduino kods ir arī ļoti vienkāršs, un pilns kods ir atrodams šīs lapas apakšdaļā.
Pirmkārt, es iekļāvu I2C šķidro kristālu bibliotēku, jo savienojumu samazināšanai mēs izmantojam I2C LCD.
# iekļaut
Tad sensora ievadei iestatīju veselu skaitli.
int sensorsPin = A0;
Iestatīšanas sadaļā es definēju tapas.
pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT);
Cikla sadaļā, kā jau minēju iepriekš, sensora izeja ir analogā vērtība. Tāpēc mums ir jālasa šīs vērtības. Ar Arduino AnalogRead funkcijas palīdzību mēs varam nolasīt izvades vērtības cilpas sadaļā.
int sensorsValue = analogRead (sensorPin);
Pirmkārt, mums ir jāsaprot mūsu sensora darbība, kas nozīmē, ka mums ir jāizlasa duļķainības sensora minimālā un maksimālā vērtība. mēs varam nolasīt šo vērtību seriālajā monitorā, izmantojot serial.println funkciju.
Lai iegūtu šīs vērtības, vispirms brīvi izlasiet sensoru, kas nav risinājums. Es saņēmu vērtību ap 640 un pēc tam, ievietojot melnu vielu starp raidītāju un uztvērēju, mēs iegūstam vērtību, kas ir minimālā vērtība, parasti šī vērtība ir nulle. Tātad mēs saņēmām maksimāli 640 un nulli kā minimumu. Tagad mums šīs vērtības jāpārvērš par 0-100
Tam es izmantoju Arduino kartes funkciju.
int duļķainība = karte (sensora vērtība, 0,640, 100, 0);
Tad es parādīju šīs vērtības LCD displejā.
lcd.setCursor (0, 0); lcd.print ("duļķainība:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (duļķainība);
Pēc tam, izmantojot , ja apstākļi, man deva atšķirīgus nosacījumus.
ja (duļķainība <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("tā CLEAR"); }
Ja duļķainības vērtība ir mazāka par 20, tas aktivizēs zaļu LED un parādīs "tā dzidru" LCD ekrānā.
if ((duļķainība> 20) && (duļķainība <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("tā APGLABUMS"); }
Ja duļķainības vērtība ir no 20 līdz 50, tas aktivizēs zilu LED un parādīs "tā duļķainu" LCD.
if ((duļķainība> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("its DIRTY"); }
Tas aktivizēs sarkanu LED un displejā parādīs "tas ir netīrs", ja duļķainības vērtība ir lielāka par 50, kā parādīts zemāk.
Vienkārši izpildiet ķēdes shēmu un augšupielādējiet kodu, ja viss notiek pareizi, jums vajadzētu būt iespējai izmērīt ūdens duļķainību, un LCD vajadzētu parādīt ūdens kvalitāti, kā parādīts iepriekš.
Ņemiet vērā, ka šis duļķainības mērītājs parāda duļķainības procentuālo daudzumu, un tas, iespējams, nav precīza rūpnieciskā vērtība, bet tomēr to var izmantot, lai salīdzinātu divu ūdens ūdens kvalitāti. Pilnīga šī projekta darbība ir atrodama zemāk esošajā video. Ceru, ka jums patika apmācība un uzzināt kaut ko noderīgu, ja jums ir kādi jautājumi, varat tos atstāt zemāk esošajā komentāru sadaļā vai izmantot CircuitDigest forumus savu tehnisko jautājumu publicēšanai vai sākt attiecīgu diskusiju.