Search Code

Samouczek ESP32 24/55 - Pomiar wilgotności gleby do nawadniania | Zestaw edukacyjny IoT ESP32 od SunFounder

Samouczek ESP32 24/55 - Pomiar wilgotności gleby do nawadniania | Zestaw edukacyjny IoT ESP32 od SunFounder

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

Obrazy

ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-wiring
ESP32-24-soild-moisture-schematic
ESP32-24-soild-moisture-schematic
soil_mositure_module
soil_mositure_module
soil_mositure_module_schematic
soil_mositure_module_schematic
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
}

Zasoby i odniesienia

Pliki📁

Brak dostępnych plików.