- Wat is troebelheid in vloeistof?
- Hoe troebelheid te meten met Arduino?
- Componenten die nodig zijn voor het maken van troebelheidsmeter
- Overzicht van troebelheidssensor
- Belangrijkste kenmerken van troebelheidsmodule
- Koppeling van troebelheidssensor met Arduino - schakelschema
- Arduino programmeren om troebelheid in water te meten
Als het om vloeistoffen gaat, is troebelheid een belangrijke term. Omdat het een belangrijke rol speelt bij de vloeistofdynamica en ook wordt gebruikt om de waterkwaliteit te meten. Dus laten we in deze tutorial bespreken wat troebelheid is, hoe de troebelheid van een vloeistof te meten met Arduino. Als je dit project verder wilt brengen, kun je ook overwegen om een pH-meter met Arduino te verbinden en ook de pH-waarde van water af te lezen om de kwaliteit van het water beter te beoordelen. Eerder hebben we ook een op IoT gebaseerd apparaat voor waterkwaliteitsmonitor gebouwd met behulp van ESP8266, dat kun je ook bekijken als je geïnteresseerd bent. Dat gezegd hebbende, laten we beginnen
Wat is troebelheid in vloeistof?
Troebelheid is de mate of mate van troebelheid of wazigheid van een vloeistof. Dit gebeurt door de aanwezigheid van grote aantallen onzichtbare deeltjes (met het blote oog) vergelijkbaar met witte rook in de lucht. Wanneer licht door vloeistoffen gaat, worden lichtgolven verstrooid door de aanwezigheid van deze kleine deeltjes. De troebelheid van een vloeistof is recht evenredig met de vrij zwevende deeltjes, dat wil zeggen dat als het aantal deeltjes toeneemt, de troebelheid ook toeneemt.
Hoe troebelheid te meten met Arduino?
Zoals ik eerder al zei, treedt troebelheid op door de verstrooiing van lichtgolven, om de troebelheid te meten, moeten we de verstrooiing van licht meten. Troebelheid wordt gewoonlijk gemeten in nefelometrische troebelheidseenheden (NTU) of Jackson troebelheidseenheden (JTLJ), afhankelijk van de gebruikte meetmethode. De twee eenheden zijn ongeveer gelijk.
Laten we nu eens kijken hoe een troebelheidssensor werkt, deze heeft twee delen, zender en ontvanger. De zender bestaat uit een lichtbron, meestal een led- en een stuurcircuit. Aan de ontvangerzijde bevindt zich een lichtdetector zoals een fotodiode of een LDR. We plaatsen de oplossing tussen de zender en ontvanger.
Zender zendt eenvoudig het licht uit, die lichtgolven gaan door de oplossing en de ontvanger ontvangt het licht. Normaal gesproken (zonder de aanwezigheid van een oplossing) ontvangt het doorgelaten licht volledig aan de ontvangerzijde. Maar in aanwezigheid van een troebele oplossing is de hoeveelheid doorgelaten licht erg laag. Dat is aan de ontvangerzijde, we krijgen alleen licht met een lage intensiteit en deze intensiteit is omgekeerd evenredig met troebelheid. We kunnen de troebelheid dus meten door de lichtintensiteit te meten als de lichtintensiteit hoog is, de oplossing minder troebel is en als de lichtintensiteit erg laag is, betekent dit dat de oplossing troebeler is.
Componenten die nodig zijn voor het maken van troebelheidsmeter
- Troebelheid module
- Arduino
- 16 * 2 I2C LCD
- Gemeenschappelijke kathode RGB-led
- Breadboard
- Doorverbindingsdraden
Overzicht van troebelheidssensor
De troebelheidssensor die in dit project wordt gebruikt, wordt hieronder weergegeven.
Zoals u kunt zien, wordt deze troebelheidssensormodule geleverd met 3 onderdelen. Een waterdichte kabel, een stuurcircuit en een verbindingsdraad. De testsonde bestaat uit zowel de zender als de ontvanger.
De bovenstaande afbeelding laat zien dat dit type module een IR-diode gebruikt als lichtbron en een IR-ontvanger als detector. Maar het werkingsprincipe is hetzelfde als voorheen. Het stuurprogramma (hieronder weergegeven) bestaat uit een op-amp en enkele componenten die het gedetecteerde lichtsignaal versterken.
De eigenlijke sensor kan op deze module worden aangesloten met behulp van een JST XH-connector. Het heeft drie pinnen, VCC, aarde en output. Vcc maakt verbinding met de 5v en aarde met aarde. De output van deze module is een analoge waarde die verandert volgens de lichtintensiteit.
Belangrijkste kenmerken van troebelheidsmodule
- Bedrijfsspanning: 5VDC.
- Stroom: 30mA (MAX).
- Bedrijfstemperatuur: -30 ° C tot 80 ° C.
- Compatibel met Arduino, Raspberry Pi, AVR, PIC, etc.
Koppeling van troebelheidssensor met Arduino - schakelschema
Het volledige schema om de troebelheidssensor aan te sluiten op Arduino wordt hieronder weergegeven, het circuit is ontworpen met EasyEDA.
Dit is een heel eenvoudig schakelschema. De output van de troebelheidssensor is analoog, dus verbonden met Arduino's A0-pin, I2C LCD verbonden met I2C-pinnen van Arduino die SCL is naar A5 en SDA naar A4. Vervolgens is de RGB-led aangesloten op digitale pin D2, D3 en D4. Nadat de verbindingen zijn gemaakt, ziet mijn hardware-installatie er als volgt uit.
Verbind de VCC van de sensor met Arduino 5v en verbind vervolgens aarde met aarde. De output pin van de sensor naar analoog 0 van Arduino. Verbind vervolgens VCC en aarde van de LCD-module met 5v en aarde van Arduino. Vervolgens SDA naar A4 en SCL naar A5, deze twee pinnen zijn de I2C-pinnen van Arduino. verbindt tenslotte de massa van RGB LED met de massa van Arduino en verbindt groen met D3, blauw met D4 en rood met D5.
Arduino programmeren om troebelheid in water te meten
Het plan is om de troebelheidswaarden van 0 tot 100 weer te geven. Dat wil zeggen dat de meter 0 moet weergeven voor zuivere vloeistof en 100 voor zeer troebele vloeistof. Deze Arduino-code is ook heel eenvoudig en de volledige code staat onderaan deze pagina.
Ten eerste heb ik de I2C liquid crystal library toegevoegd omdat we een I2C LCD gebruiken om de verbindingen te minimaliseren.
# omvatten
Vervolgens heb ik een integer ingesteld voor sensorinvoer.
int sensorPin = A0;
In het setup-gedeelte heb ik de pinnen gedefinieerd.
pinMode (3, UITGANG); pinMode (4, UITGANG); pinMode (5, UITGANG);
In het lusgedeelte, zoals ik al eerder zei, is de output van de sensor een analoge waarde. Dus we moeten die waarden lezen. Met behulp van de Arduino AnalogRead- functie kunnen we de outputwaarden in de lussectie aflezen.
int sensorValue = analogRead (sensorPin);
Ten eerste moeten we het gedrag van onze sensor begrijpen, wat betekent dat we de minimumwaarde en maximumwaarde van de troebelheidssensor moeten aflezen. we kunnen die waarde op de seriële monitor aflezen met de functie serial.println .
Om deze waarden te krijgen, moet u eerst de sensor vrij lezen die geen oplossing heeft. Ik kreeg een waarde rond 640 en daarna, plaats een zwarte substantie tussen de zender en ontvanger, we krijgen een waarde die de minimumwaarde is, meestal is die waarde nul. We hebben dus 640 als maximum en nul als minimum. Nu moeten we deze waarden converteren naar 0-100
Daarvoor gebruikte ik de kaart functie van Arduino.
int troebelheid = kaart (sensorValue, 0,640, 100, 0);
Vervolgens heb ik die waarden op het LCD-scherm weergegeven.
lcd.setCursor (0, 0); lcd.print ("troebelheid:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (troebelheid);
Daarna heb ik met behulp van if- voorwaarden andere voorwaarden gegeven.
if (troebelheid <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("zijn CLEAR"); }
Dit zal de groene led activeren en "zijn duidelijk" weergeven op het LCD-scherm als de troebelheidswaarde lager is dan 20.
if ((troebelheid> 20) && (troebelheid <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("zijn BEWOLKT"); }
Dit zal de blauwe led activeren en "zijn troebel" weergeven op het LCD-scherm als de troebelheidswaarde tussen 20 en 50 ligt.
if ((troebelheid> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("its DIRTY"); }
Dit zal een rode led activeren en "het is vuil" weergeven op het LCD-scherm als de troebelheidswaarde groter is dan 50, zoals hieronder weergegeven.
Volg gewoon het schakelschema en upload de code. Als alles goed gaat, zou u de troebelheid van het water moeten kunnen meten en op het LCD-scherm moet de kwaliteit van het water worden weergegeven zoals hierboven weergegeven.
Houd er rekening mee dat deze troebelheidsmeter het percentage troebelheid weergeeft en dat het misschien geen nauwkeurige industriële waarde is, maar toch kan hij worden gebruikt om de waterkwaliteit van twee soorten water te vergelijken. De volledige werking van dit project is te vinden in de onderstaande video. Ik hoop dat je de tutorial leuk vond en iets nuttigs leert als je een vraag hebt, je kunt ze achterlaten in de commentaarsectie hieronder of de CircuitDigest-forums gebruiken om je technische vragen te posten of een relevante discussie te starten.