- Ce este turbiditatea în lichid?
- Cum se măsoară turbiditatea folosind Arduino?
- Componente necesare pentru realizarea turometrului
- Prezentare generală a senzorului de turbiditate
- Caracteristici cheie ale modulului de turbiditate
- Interfațarea senzorului de turbiditate cu Arduino - Diagrama circuitului
- Programarea Arduino pentru măsurarea turbidității în apă
Când vine vorba de lichide, turbiditatea este un termen important. Deoarece joacă un rol important în dinamica lichidelor și este, de asemenea, utilizat pentru a măsura calitatea apei. Deci, în acest tutorial, să discutăm ce este turbiditatea, cum să măsurăm turbiditatea unui lichid folosind Arduino. Dacă doriți să duceți acest proiect mai departe, puteți lua în considerare, de asemenea, interfața unui pH-metru cu Arduino și, de asemenea, citiți valoarea pH-ului apei pentru a evalua mai bine calitatea apei. Anterior, am construit și un dispozitiv de monitorizare a calității apei bazat pe IoT, utilizând ESP8266, puteți verifica acest lucru și dacă sunteți interesat. Acestea fiind spuse, să începem
Ce este turbiditatea în lichid?
Turbiditatea este gradul sau nivelul de tulbure sau ceață a unui lichid. Acest lucru se întâmplă datorită prezenței unui număr mare de particule invizibile (cu ochiul liber) asemănătoare fumului alb din aer. Când lumina trece prin lichide, undele de lumină se împrăștie Datorită prezenței acestor mici particule. Turbiditatea unui lichid este direct proporțională cu particulele libere suspendate, adică dacă numărul de particule crește turbiditatea va crește, de asemenea.
Cum se măsoară turbiditatea folosind Arduino?
După cum am menționat mai devreme, turbiditatea se întâmplă datorită împrăștierii undelor de lumină, pentru a măsura turbiditatea, ar trebui să măsurăm împrăștierea luminii. Turbiditatea este de obicei măsurată în unități de turbiditate nefelometrice (NTU) sau unități de turbiditate Jackson (JTLJ), în funcție de metoda utilizată pentru măsurare. Cele două unități sunt aproximativ egale.
Acum să vedem cum funcționează un senzor de turbiditate, are două părți, emițător și receptor. Transmițătorul constă dintr-o sursă de lumină de obicei un led și un circuit driver. În capătul receptorului, există un detector de lumină ca o fotodiodă sau un LDR. Așezăm soluția între emițător și receptor.
Transmițătorul transmite pur și simplu lumina, că undele de lumină trec prin soluție și receptorul primește lumina. În mod normal (fără prezența unei soluții) lumina transmisă primește complet pe partea receptorului. Dar în prezența unei soluții tulburi, cantitatea de lumină transmisă este foarte mică. Adică pe partea receptorului, obținem doar o lumină de intensitate redusă și această intensitate este invers proporțională cu turbiditatea. Deci, putem măsura turbiditatea măsurând intensitatea luminii dacă intensitatea luminii este mare, soluția este mai puțin tulbure și dacă intensitatea luminii este foarte scăzută înseamnă că soluția este mai tulbure.
Componente necesare pentru realizarea turometrului
- Modulul de turbiditate
- Arduino
- 16 * 2 LCD I2C
- LED catod comun RGB
- Breadboard
- Sârme de jumper
Prezentare generală a senzorului de turbiditate
Senzorul de turbiditate utilizat în acest proiect este prezentat mai jos.
După cum puteți vedea, acest modul senzor de turbiditate vine cu 3 părți. Un cablu impermeabil, un circuit de conducător auto și un fir de legătură. Sonda de testare constă atât din emițător, cât și din receptor.
Imaginea de mai sus arată că acest tip de modul folosește o diodă IR ca sursă de lumină și un receptor IR ca detector. Dar principiul de funcționare este același ca înainte. Partea driverului (prezentată mai jos) constă dintr-un amplificator operațional și câteva componente care amplifică semnalul luminos detectat.
Senzorul real poate fi conectat la acest modul folosind un conector JST XH. Are trei pini, VCC, masă și ieșire. Vcc se conectează la 5V și de la masă la masă. Ieșirea acestui modul este o valoare analogică, adică se modifică în funcție de intensitatea luminii.
Caracteristici cheie ale modulului de turbiditate
- Tensiune de operare: 5VDC.
- Curent: 30mA (MAX).
- Temperatura de funcționare: -30 ° C până la 80 ° C.
- Compatibil cu Arduino, Raspberry Pi, AVR, PIC etc.
Interfațarea senzorului de turbiditate cu Arduino - Diagrama circuitului
Schema completă pentru conectarea senzorului de turbiditate la Arduino este prezentată mai jos, circuitul a fost proiectat folosind EasyEDA.
Aceasta este o diagramă de circuit foarte simplă. Ieșirea senzorului de turbiditate este analogică, astfel încât este conectat la pinul A0 al Arduino, LCD I2C conectat la pinii I2C ai Arduino, care este SCL la A5 și SDA la A4. Apoi LED-ul RGB s-a conectat la pinul digital D2, D3 și D4. După terminarea conexiunilor, configurarea hardware-ului meu arată așa mai jos.
Conectați VCC-ul senzorului la Arduino 5v, apoi conectați masă la masă. Pinul de ieșire al senzorului la analogul 0 al Arduino. Apoi, conectați VCC și solul modulului LCD la 5v și la solul Arduino. Apoi SDA la A4 și SCL la A5, acești doi pini sunt pinii I2C ai Arduino. conectează în cele din urmă solul RGB LED la solul Arduino și conectează verde la D3, albastru la D4 și roșu la D5.
Programarea Arduino pentru măsurarea turbidității în apă
Planul este de a afișa valorile de turbiditate de la 0 la 100. Adică contorul ar trebui să afișeze 0 pentru lichidul pur și 100 pentru cele foarte tulburi. Acest cod Arduino este, de asemenea, foarte simplu, iar codul complet poate fi găsit în partea de jos a acestei pagini.
În primul rând, am inclus biblioteca de cristale lichide I2C deoarece folosim un LCD I2C pentru a minimiza conexiunile.
# include
Apoi am setat un număr întreg pentru intrarea senzorului.
int sensorPin = A0;
În secțiunea de configurare, am definit pinii.
pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT);
În secțiunea buclă, așa cum am menționat mai devreme, ieșirea senzorului este o valoare analogică. Deci, trebuie să citim aceste valori. Cu ajutorul funcției Arduino AnalogRead , putem citi valorile de ieșire din secțiunea buclă.
int sensorValue = analogRead (senzorPin);
În primul rând, trebuie să înțelegem comportamentul senzorului nostru, ceea ce înseamnă că trebuie să citim valoarea minimă și valoarea maximă a senzorului de turbiditate. putem citi acea valoare pe monitorul serial folosind funcția serial.println .
Pentru a obține aceste valori, citiți mai întâi senzorul în mod liber, fără nicio soluție. Am o valoare în jurul valorii de 640 și după aceea, plasează o substanță neagră între emițător și receptor, obținem o valoare care este valoarea minimă, de obicei, acea valoare este zero. Deci, am obținut 640 la maximum și zero la minimum. Acum trebuie să convertim aceste valori la 0-100
Pentru asta, am folosit funcția de hartă a Arduino.
int turbiditate = hartă (sensorValue, 0,640, 100, 0);
Apoi am afișat valorile respective pe ecranul LCD.
lcd.setCursor (0, 0); lcd.print ("turbiditate:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (turbiditate);
După aceea, cu ajutorul condițiilor if , am dat condiții diferite.
if (turbiditate <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print („este CLEAR”); }
Acesta va afișa ledul verde activ și va afișa „clar” pe ecranul LCD dacă valoarea turbidității este sub 20.
if ((turbiditate> 20) && (turbiditate <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print („CLOUDY”); }
Aceasta va afișa ledul albastru activ și va afișa „înnoratul” pe ecranul LCD dacă valoarea turbidității este cuprinsă între 20 și 50.
if ((turbiditate> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("its DIRTY"); }
Acesta va afișa ledul roșu activ și va afișa „este murdar” pe ecranul LCD dacă valoarea turbidității este mai mare de 50, așa cum se arată mai jos.
Doar urmați schema circuitului și încărcați codul, dacă totul merge corect, ar trebui să puteți măsura turbiditatea apei și LCD-ul ar trebui să afișeze calitatea apei așa cum se arată mai sus.
Rețineți că acest turometru afișează procentul de turbiditate și s-ar putea să nu fie o valoare industrială precisă, dar totuși poate fi folosit pentru a compara calitatea apei a două ape. Funcționarea completă a acestui proiect poate fi găsită în videoclipul de mai jos. Sper că ți-a plăcut tutorialul și ai învățat ceva util dacă ai vreo întrebare, le poți lăsa în secțiunea de comentarii de mai jos sau poți folosi forumurile CircuitDigest pentru postarea întrebărilor tale tehnice sau pentru a începe o discuție relevantă.