- Co to jest zmętnienie w cieczy?
- Jak zmierzyć mętność za pomocą Arduino?
- Komponenty potrzebne do wykonania miernika mętności
- Przegląd czujnika mętności
- Kluczowe cechy modułu mętności
- Połączenie czujnika mętności z Arduino - schemat obwodu
- Programowanie Arduino do pomiaru mętności w wodzie
W przypadku cieczy ważnym terminem jest zmętnienie. Ponieważ odgrywa ważną rolę w dynamice cieczy i służy również do pomiaru jakości wody. W tym samouczku omówimy więc, czym jest mętność, jak zmierzyć mętność cieczy za pomocą Arduino. Jeśli chcesz rozwinąć ten projekt, możesz również rozważyć połączenie pH-metru z Arduino, a także odczytać wartość pH wody, aby lepiej ocenić jakość wody. Wcześniej zbudowaliśmy również urządzenie do monitorowania jakości wody oparte na IoT za pomocą ESP8266, możesz to również sprawdzić, jeśli jesteś zainteresowany. Biorąc to pod uwagę, zacznijmy
Co to jest zmętnienie w cieczy?
Zmętnienie to stopień lub poziom zmętnienia lub zmętnienia cieczy. Dzieje się tak z powodu obecności dużej liczby niewidocznych cząstek (gołym okiem) podobnych do białego dymu w powietrzu. Kiedy światło przechodzi przez ciecze, fale świetlne są rozpraszane z powodu obecności tych drobnych cząstek. Zmętnienie cieczy jest wprost proporcjonalne do ilości swobodnie zawieszonych cząstek, to znaczy, jeśli liczba cząstek wzrośnie, zmętnienie również wzrośnie.
Jak zmierzyć mętność za pomocą Arduino?
Jak wspomniałem wcześniej, zmętnienie występuje z powodu rozpraszania fal świetlnych, aby zmierzyć zmętnienie, powinniśmy zmierzyć rozproszenie światła. Zmętnienie jest zwykle mierzone w nefelometrycznych jednostkach mętności (NTU) lub jednostkach zmętnienia Jacksona (JTLJ), w zależności od metody zastosowanej do pomiaru. Te dwie jednostki są mniej więcej równe.
Zobaczmy teraz, jak działa czujnik mętności, składa się z dwóch części, nadajnika i odbiornika. Nadajnik składa się ze źródła światła, zwykle diody LED i obwodu sterującego. Na końcu odbiornika znajduje się detektor światła, taki jak fotodioda lub LDR. Rozwiązanie umieszczamy pomiędzy nadajnikiem a odbiornikiem.
Nadajnik po prostu przesyła światło, przez które fale świetlne przechodzą, a odbiornik otrzymuje światło. Zwykle (bez obecności roztworu) przepuszczane światło całkowicie odbiera od strony odbiornika. Ale w obecności mętnego roztworu ilość przepuszczanego światła jest bardzo mała. Oznacza to, że po stronie odbiornika otrzymujemy tylko światło o niskiej intensywności, a intensywność ta jest odwrotnie proporcjonalna do zmętnienia. Możemy więc zmierzyć mętność, mierząc natężenie światła, jeśli natężenie światła jest wysokie, roztwór jest mniej mętny, a jeśli natężenie światła jest bardzo niskie, oznacza to, że roztwór jest bardziej mętny.
Komponenty potrzebne do wykonania miernika mętności
- Moduł mętności
- Arduino
- Wyświetlacz LCD 16 * 2 I2C
- Dioda LED RGB ze wspólną katodą
- Płytka prototypowa
- Przewody połączeniowe
Przegląd czujnika mętności
Poniżej przedstawiono czujnik mętności zastosowany w tym projekcie.
Jak widać, ten moduł czujnika mętności składa się z 3 części. Wodoodporny przewód, obwód sterownika i przewód połączeniowy. Sonda testowa składa się zarówno z nadajnika, jak i odbiornika.
Powyższe zdjęcie pokazuje, że ten typ modułu wykorzystuje diodę IR jako źródło światła oraz odbiornik podczerwieni jako detektor. Ale zasada działania jest taka sama jak poprzednio. Część sterownika (pokazana poniżej) składa się ze wzmacniacza operacyjnego i niektórych elementów wzmacniających wykryty sygnał świetlny.
Rzeczywisty czujnik można podłączyć do tego modułu za pomocą złącza JST XH. Ma trzy piny, VCC, masę i wyjście. Vcc łączy się z 5 V i masą do masy. Wyjście tego modułu jest wartością analogową, to znaczy zmienia się w zależności od natężenia światła.
Kluczowe cechy modułu mętności
- Napięcie robocze: 5 V DC.
- Prąd: 30mA (MAX).
- Temperatura pracy: od -30 ° C do 80 ° C
- Kompatybilny z Arduino, Raspberry Pi, AVR, PIC itp.
Połączenie czujnika mętności z Arduino - schemat obwodu
Pełny schemat podłączenia czujnika mętności do Arduino pokazano poniżej, obwód został zaprojektowany przy użyciu EasyEDA.
To jest bardzo prosty schemat obwodu. Wyjście czujnika mętności jest analogowe, dzięki czemu jest podłączone do pinu A0 Arduino, LCD I2C podłączony do pinów I2C Arduino, czyli SCL do A5 i SDA do A4. Następnie dioda LED RGB podłączona do cyfrowych pinów D2, D3 i D4. Po wykonaniu połączeń moja konfiguracja sprzętu wygląda następująco.
Podłącz VCC czujnika do Arduino 5v, a następnie podłącz masę do masy. Pin wyjściowy czujnika do analogowego 0 Arduino. Następnie podłącz VCC i masę modułu LCD do 5V i masy Arduino. Następnie SDA na A4 i SCL na A5, te dwa piny to piny I2C Arduino. na koniec łączy masę diody LED RGB z masą Arduino i podłącz zielony do D3, niebieski do D4 i czerwony do D5.
Programowanie Arduino do pomiaru mętności w wodzie
Plan zakłada wyświetlenie wartości mętności od 0 do 100. Oznacza to, że miernik powinien wyświetlać 0 dla czystej cieczy i 100 dla bardzo mętnej cieczy. Ten kod Arduino jest również bardzo prosty, a pełny kod można znaleźć na dole tej strony.
Najpierw włączyłem bibliotekę ciekłokrystaliczną I2C, ponieważ używamy wyświetlacza LCD I2C, aby zminimalizować połączenia.
# uwzględnij
Następnie ustawiłem liczbę całkowitą dla wejścia czujnika.
int sensorPin = A0;
W sekcji konfiguracji zdefiniowałem piny.
pinMode (3, WYJŚCIE); pinMode (4, WYJŚCIE); pinMode (5, WYJŚCIE);
W sekcji pętli, jak wspomniałem wcześniej, wyjście czujnika jest wartością analogową. Musimy więc odczytać te wartości. Za pomocą funkcji Arduino AnalogRead możemy odczytać wartości wyjściowe w sekcji pętli.
int sensorValue = analogRead (sensorPin);
Po pierwsze, musimy zrozumieć zachowanie naszego czujnika, co oznacza, że musimy odczytać minimalną i maksymalną wartość czujnika mętności. możemy odczytać tę wartość na monitorze szeregowym za pomocą funkcji serial.println .
Aby uzyskać te wartości, najpierw odczytaj czujnik swobodnie, czyli bez żadnego rozwiązania. Uzyskałem wartość około 640 i po tym, umieszczając czarną substancję między nadajnikiem a odbiornikiem, otrzymujemy wartość, która jest wartością minimalną, zwykle jest to zero. Więc mamy 640 jako maksimum i zero jako minimum. Teraz musimy przekonwertować te wartości na 0-100
W tym celu użyłem funkcji mapy Arduino.
int turbidity = map (sensorValue, 0,640, 100, 0);
Następnie pokazałem te wartości na wyświetlaczu LCD.
lcd.setCursor (0, 0); lcd.print ("mętność:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (mętność);
Po tym, z pomocą , jeśli warunki, dałem różne warunki.
if (mętność <20) { digitalWrite (2, HIGH); digitalWrite (3, NISKI); digitalWrite (4, NISKI); lcd.setCursor (0, 1); lcd.print ("jego CLEAR"); }
Spowoduje to włączenie zielonej diody LED i wyświetlenie jej „czystego” na wyświetlaczu LCD, jeśli wartość mętności jest poniżej 20.
if ((mętność> 20) && (mętność <50)) { digitalWrite (2, LOW); digitalWrite (3, WYSOKI); digitalWrite (4, NISKI); lcd.setCursor (0, 1); lcd.print ("jego CLOUDY"); }
Spowoduje to uaktywnienie niebieskiej diody i wyświetlenie „mętności” na wyświetlaczu LCD, jeśli wartość mętności mieści się w zakresie od 20 do 50.
if ((mętność> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("jego BRUDNY"); }
Spowoduje to włączenie czerwonej diody LED i wyświetlenie na ekranie LCD komunikatu „jest zabrudzony”, jeśli wartość mętności jest większa niż 50, jak pokazano poniżej.
Po prostu postępuj zgodnie ze schematem obwodu i załaduj kod, jeśli wszystko pójdzie dobrze, powinieneś być w stanie zmierzyć mętność wody, a wyświetlacz LCD powinien wyświetlić jakość wody, jak pokazano powyżej.
Zwróć uwagę, że ten miernik mętności wyświetla procent zmętnienia i może nie być dokładną wartością przemysłową, ale nadal można go użyć do porównania jakości wody w dwóch wodach. Pełne działanie tego projektu można znaleźć na poniższym filmie. Mam nadzieję, że spodobał Ci się samouczek i nauczyłeś się czegoś przydatnego, jeśli masz jakiekolwiek pytania, możesz je zostawić w sekcji komentarzy poniżej lub skorzystać z forum CircuitDigest, aby opublikować pytania techniczne lub rozpocząć odpowiednią dyskusję.