- Hvad er uklarhed i væske?
- Hvordan måles turbiditet ved hjælp af Arduino?
- Komponenter, der er nødvendige til fremstilling af uklarhedsmåler
- Oversigt over turbiditetssensor
- Nøglefunktioner i turbiditetsmodul
- Interfacing Grumhedssensor med Arduino - kredsløbsdiagram
- Programmering af Arduino til måling af uklarhed i vand
Når det kommer til væsker, er uklarhed et vigtigt udtryk. Fordi det spiller en vigtig rolle i væskedynamik og også bruges til at måle vandkvaliteten. Så i denne vejledning, lad os diskutere, hvad der er uklarhed, hvordan man måler uklarheden i en væske ved hjælp af Arduino. Hvis du vil tage dette projekt videre, kan du også overveje at grænseflade mellem en pH-meter og Arduino og også læse vandets pH-værdi for bedre at vurdere vandets kvalitet. Tidligere har vi også bygget en IoT-baseret vandkvalitetsovervågningsenhed ved hjælp af ESP8266, du kan også tjekke det ud, hvis du er interesseret. Når det er sagt, lad os komme i gang
Hvad er uklarhed i væske?
Uklarhed er graden eller niveauet af uklarhed eller uklarhed af en væske. Dette sker på grund af tilstedeværelsen af et stort antal usynlige partikler (med det blotte øje) svarende til hvid røg i luften. Når lys passerer gennem væsker, spredes lysbølger på grund af tilstedeværelsen af disse små partikler. En væskes uklarhed er direkte proportional med de frie suspenderede partikler, dvs. hvis antallet af partikler øger uklarheden også øges.
Hvordan måles turbiditet ved hjælp af Arduino?
Som jeg nævnte tidligere, sker uklarhed på grund af spredning af lysbølger. For at måle uklarheden skal vi måle spredningen af lys. Turbiditet måles normalt i nefelometrisk turbiditetsenheder (NTU) eller Jackson turbiditetsenheder (JTLJ) afhængigt af metoden, der anvendes til måling. De to enheder er omtrent ens.
Lad os nu se, hvordan en turbiditetssensor fungerer, den har to dele, sender og modtager. Senderen består af en lyskilde, typisk en ledning og et førerkredsløb. I modtagerenden er der en lysdetektor som en fotodiode eller en LDR. Vi placerer løsningen mellem senderen og modtageren.
Senderen sender simpelthen lyset, at lysbølger passerer gennem løsningen, og modtageren modtager lyset. Normalt (uden tilstedeværelse af en løsning) modtager det transmitterede lys fuldstændigt på modtagersiden. Men i nærværelse af en uklar løsning er mængden af transmitteret lys meget lav. Det er på modtagersiden, vi får kun et lys med lav intensitet, og denne intensitet er omvendt proportional med uklarheden. Så vi kan måle uklarheden ved at måle lysintensiteten, hvis lysintensiteten er høj, opløsningen er mindre uklar, og hvis lysintensiteten er meget lav, betyder det, at opløsningen er mere uklar.
Komponenter, der er nødvendige til fremstilling af uklarhedsmåler
- Uklarhedsmodul
- Arduino
- 16 * 2 I2C LCD
- Fælles katode RGB LED
- Brødbræt
- Jumper ledninger
Oversigt over turbiditetssensor
Turbiditetssensoren, der anvendes i dette projekt, er vist nedenfor.
Som du kan se, leveres dette turbiditetssensormodul med 3 dele. En vandtæt ledning, et førerkredsløb og en tilslutningsledning. Testproben består af både sender og modtager.
Ovenstående billede viser, denne type modul bruger en IR-diode som lyskilde og en IR-modtager som en detektor. Men arbejdsprincippet er det samme som før. Førerdelen (vist nedenfor) består af en op-amp og nogle komponenter, der forstærker det detekterede lyssignal.
Den aktuelle sensor kan tilsluttes dette modul ved hjælp af et JST XH-stik. Den har tre ben, VCC, jord og output. Vcc forbinder til 5v og jord til jord. Outputtet fra dette modul er en analog værdi, dvs. det ændres i henhold til lysintensiteten.
Nøglefunktioner i turbiditetsmodul
- Driftsspænding: 5VDC.
- Strøm: 30mA (MAX).
- Driftstemperatur: -30 ° C til 80 ° C.
- Kompatibel med Arduino, Raspberry Pi, AVR, PIC osv.
Interfacing Grumhedssensor med Arduino - kredsløbsdiagram
Det komplette skema til tilslutning af turbiditetssensoren til Arduino er vist nedenfor, kredsløbet blev designet ved hjælp af EasyEDA.
Dette er et meget simpelt kredsløbsdiagram. Uklarheden på turbiditetssensoren er analog, så den er forbundet til Arduinos A0-pin, I2C LCD forbundet til I2C-stifterne i Arduino, der er SCL til A5 og SDA til A4. Derefter tilsluttes RGB LED til digital pin D2, D3 og D4. Når forbindelserne er udført, ser min hardwareopsætning sådan ud nedenfor.
Tilslut sensorens VCC til Arduino 5v, og slut derefter jord til jord. Sensorens udgangsstift til analog 0 af Arduino. Tilslut derefter VCC og jord på LCD-modul til 5v og jord på Arduino. Derefter SDA til A4 og SCL til A5, disse to ben er I2C-benene fra Arduino. forbinder endelig jorden af RGB LED til jorden af Arduino og tilslutter grøn til D3, blå til D4 og rød til D5.
Programmering af Arduino til måling af uklarhed i vand
Planen er at vise uklarhedsværdier fra 0 til 100. Det vil sige, at måleren skal vise 0 for ren væske og 100 for meget uklar. Denne Arduino-kode er også meget enkel, og den komplette kode findes nederst på denne side.
Først inkluderede jeg I2C flydende krystalbibliotek, fordi vi bruger et I2C LCD til at minimere forbindelserne.
# inkluderer
Derefter indstillede jeg heltal til sensorinput.
int sensorPin = A0;
I installationssektionen definerede jeg benene.
pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT);
I loop-sektionen, som jeg nævnte tidligere, er sensorens output en analog værdi. Så vi er nødt til at læse disse værdier. Ved hjælp af Arduino AnalogRead- funktionen kan vi læse outputværdierne i loop-sektionen.
int sensorValue = analogRead (sensorPin);
For det første er vi nødt til at forstå opførslen af vores sensor, hvilket betyder, at vi skal læse minimumsværdien og den maksimale værdi af turbiditetssensoren. Vi kan læse denne værdi på den serielle skærm ved hjælp af funktionen serial.println .
For at få disse værdier skal du først læse sensoren frit uden løsning. Jeg fik en værdi omkring 640, og placer derefter et sort stof mellem senderen og modtageren, så får vi en værdi, der er minimumsværdien, normalt er den værdi nul. Så vi fik 640 som maksimum og nul som minimum. Nu skal vi konvertere disse værdier til 0-100
Til det brugte jeg kortfunktionen i Arduino.
int turbiditet = kort (sensorValue, 0,640, 100, 0);
Så viste jeg disse værdier på LCD-skærmen.
lcd.setCursor (0, 0); lcd.print ("uklarhed:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (uklarhed);
Derefter gav jeg forskellige betingelser ved hjælp af if- betingelser.
hvis (uklarhed <20) { digitalWrite (2, HIGH); digitalWrite (3, LAV); digitalWrite (4, LAV); lcd.setCursor (0, 1); lcd.print ("dens CLEAR"); }
Dette vil aktivere grønt lys og vise "det er klart" på LCD, hvis uklarhedsværdien er under 20.
hvis ((uklarhed> 20) && (uklarhed <50)) { digitalWrite (2, LAV); digitalWrite (3, HIGH); digitalWrite (4, LAV); lcd.setCursor (0, 1); lcd.print ("dens CLOUDY"); }
Dette vil aktivere blå led og vise "dets overskyede" på LCD, hvis uklarhedsværdien er mellem 20 og 50.
hvis ((uklarhed> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("dens DIRTY"); }
Dette vil aktivere rødt og vise "det er snavset" på LCD, hvis uklarhedsværdien er større end 50 som vist nedenfor.
Følg bare kredsløbsdiagrammet og upload koden, hvis alt går korrekt, skal du være i stand til at måle vandets uklarhed, og LCD'et skal vise vandets kvalitet som vist ovenfor.
Bemærk, at denne uklarhedsmåler viser procentdelen af uklarhed, og at den muligvis ikke er en nøjagtig industriel værdi, men stadig kan den bruges til at sammenligne vandkvaliteten på to vand. Den komplette bearbejdning af dette projekt kan findes i videoen nedenfor. Håber du har haft vejledningen og lært noget nyttigt, hvis du har spørgsmål, kan du lade dem være i kommentarsektionen nedenfor eller bruge CircuitDigest-fora til at sende dine tekniske spørgsmål eller starte en relevant diskussion.