W tym samouczku nauczymy się, jak używać SunFounder ESP32 wraz z czujnikiem wilgotności gleby do pomiaru poziomu wilgotności w glebie, co może pomóc w automatyzacji systemów nawadniania. Monitorując poziomy wilgotności, możemy uruchomić brzęczyk, gdy wilgotność spadnie poniżej określonego progu, sygnalizując, że rośliny wymagają podlewania. Ten projekt jest cenny dla utrzymania zdrowia roślin i może zostać rozszerzony o różne zastosowania związane z monitorowaniem środowiska. (na filmie w 00:00)
soil_mositure_module
Będziemy używać pojemnościowego czujnika wilgotności gleby, który działa poprzez pomiar zmiany pojemności między dwiema płytkami, która zmienia się w zależności od zawartości wilgoci w otaczającym ośrodku. Ten czujnik zapewni wyjście analogowe odzwierciedlające poziom wilgotności, co pozwoli nam podejmować decyzje na podstawie odczytów. ESP32 odczyta wyjście analogowe i uruchomi brzęczyk, jeśli gleba będzie zbyt sucha.
Wyjaśnienie sprzętu
Do tego projektu głównymi komponentami są mikrokontroler SunFounder ESP32, pojemnościowy czujnik wilgotności gleby oraz brzęczyk. ESP32 posiada wbudowane Wi-Fi i Bluetooth, co umożliwia zdalne monitorowanie i sterowanie. Czujnik wilgotności gleby składa się z dwóch płytek mierzących pojemność, która zmienia się w zależności od poziomu wilgotności w glebie. Ta zmiana pojemności zmienia napięcie wyjściowe, które ESP32 odczytuje przez swoje wejście analogowe. Brzęczyk zaalarmuje nas, gdy poziom wilgotności spadnie poniżej ustawionego progu.
soil_mositure_module_schematic
Szczegóły z karty katalogowej
Producent
SunFounder
Numer części
Czujnik wilgotności gleby
Napięcie robocze
3,3 do 5 V
Typ wyjścia
Analogowe
Zakres sygnału
0 do 3,3 V
Czas odpowiedzi
Szybki
Wymiary
Ok. 60 x 20 mm
Uwagi / warianty
Czujnik typu pojemnościowego
Upewnij się, że czujnik nie jest całkowicie zanurzony w wodzie, aby zapobiec uszkodzeniom.
W razie potrzeby użyj odpowiednich rezystorów podciągających, aby uzyskać stabilne odczyty.
Skalibruj czujnik dla swojego konkretnego typu gleby, aby uzyskać dokładne odczyty wilgotności.
Zachowaj prawidłowe połączenia przewodów, aby uniknąć utraty sygnału.
Uważaj na zasilanie, aby uniknąć sytuacji przepięcia.
Instrukcje podłączania
ESP32-24-soild-moisture-wiring
Aby podłączyć czujnik wilgotności gleby do ESP32, podłącz pin VCC czujnika do pinu 3,3 V na ESP32. Następnie podłącz pin GND czujnika do pinu GND na ESP32. Pin wyjścia analogowego z czujnika wilgotności gleby należy podłączyć do pinu analogowego 35 na ESP32. Dla brzęczyka podłącz pin dodatni do pinu cyfrowego 13 na ESP32, a pin ujemny do GND. Upewnij się, że wszystkie połączenia są pewne, aby uniknąć sporadycznych problemów podczas pracy.
Przykłady kodu i omówienie
Poniżej znajduje się krótki fragment kodu, który inicjalizuje komunikację szeregową i odczytuje wartość czujnika wilgotności:
void setup() {
// Inicjalizacja komunikacji szeregowej z prędkością 115200 bitów na sekundę:
Serial.begin(115200);
}
Ten fragment konfiguruje komunikację szeregową, umożliwiając nam przeglądanie odczytów z czujnika wilgotności w monitorze szeregowym.
Następnie mamy główną pętlę, w której odczytywana jest wartość analogowa z czujnika:
void loop() {
// Odczyt wartości analogowej
int analogValue = analogRead(35);
// Wypisanie wartości
Serial.printf("Wartość analogowa = %d\n",analogValue);
delay(300); // opóźnienie między odczytami dla wyraźnego odczytu z monitora szeregowego
}
W tej pętli kod w sposób ciągły odczytuje wartość analogową z pinu 35 i wypisuje ją do monitora szeregowego co 300 milisekund. Pozwala nam to monitorować poziom wilgotności w czasie rzeczywistym.
Demonstracja / Czego się spodziewać
Gdy czujnik wilgotności zostanie umieszczony w suchej glebie, wartość analogowa będzie wyższa, co wskazuje na niską wilgotność. I odwrotnie, gdy czujnik zostanie włożony do wilgotnej gleby, wartość znacznie spadnie. Jeśli odczyt spadnie poniżej zdefiniowanego progu (np. 2000), brzęczyk podłączony do pinu 13 uruchomi się, sygnalizując, że roślina wymaga podlewania. Uważaj na pływające wejścia i upewnij się, że czujnik nie jest wystawiony na działanie wody poza zalecanymi limitami (na filmie w 02:30).
Znaczniki czasu wideo
00:00 Start
1:51 Wprowadzenie do projektu
5:53 Wyjaśnienie podłączania
7:23 Wyjaśnienie kodu Arduino
9:09 Wybór płytki ESP32 i portu COM w Arduino IDE
10:47 Demonstracja projektu na doniczce
14:30 Włączanie brzęczyka, gdy doniczka jest sucha
823-ESP32 Tutorial 24/55- Arduino code for soil moisture measurement
Język: C++
void setup() {
// Initialize serial communication at 115200 bits per second:
Serial.begin(115200);
}
void loop() {
// Read the analog value
int analogValue = analogRead(35);
// Print out the values
Serial.printf("Analog value = %d\n",analogValue);
delay(300); // delay between reads for clear read from serial monitor
}
Ujawnienie: Jako partner Amazonu, zarabiamy na kwalifikujących się zakupach. Oznacza to, że możemy otrzymać małą prowizję, jeśli klikniesz w link i dokonasz zakupu bez dodatkowych kosztów dla Ciebie.