În acest tutorial, vom învăța cum să folosim SunFounder ESP32 împreună cu un senzor de umiditate a solului pentru a măsura nivelul de umiditate din sol, ceea ce poate ajuta la automatizarea sistemelor de irigare. Monitorizând nivelurile de umiditate, putem declanșa un buzzer atunci când umiditatea scade sub un anumit prag, indicând că plantele au nevoie de udare. Acest proiect este valoros pentru menținerea sănătății plantelor și poate fi extins pentru diverse aplicații de detectare a mediului. (în video la 00:00)
modul_senzor_umiditate_sol
Vom folosi un senzor capacitiv de umiditate a solului, care funcționează prin măsurarea modificării capacității dintre două plăci, care variază în funcție de conținutul de umiditate al mediului înconjurător. Acest senzor va furniza o ieșire analogică care reflectă nivelul de umiditate, permițându-ne să luăm decizii pe baza citirilor. ESP32 va citi ieșirea analogică și va activa un buzzer dacă solul este prea uscat.
Hardware Explicat
Pentru acest proiect, componentele principale sunt microcontrolerul SunFounder ESP32, senzorul capacitiv de umiditate a solului și un buzzer. ESP32 dispune de Wi-Fi și Bluetooth integrate, permițând monitorizarea și controlul de la distanță. Senzorul de umiditate a solului constă din două plăci care măsoară capacitatea, care se modifică în funcție de nivelul de umiditate din sol. Această modificare a capacității alterează tensiunea de ieșire, pe care ESP32 o citește prin intrarea sa analogică. Buzzerul ne va alerta atunci când nivelul de umiditate scade sub un prag stabilit.
schema_modul_senzor_umiditate_sol
Detalii din Fișa Tehnică
Producător
SunFounder
Număr de piesă
Senzor de umiditate a solului
Tensiune de operare
3,3 până la 5 V
Tip de ieșire
Analogic
Interval de semnal
0 până la 3,3 V
Timp de răspuns
Rapid
Dimensiuni
Aprox. 60 x 20 mm
Note / variante
Senzor de tip capacitiv
Asigurați-vă că senzorul nu este complet scufundat în apă pentru a preveni deteriorarea.
Utilizați rezistențe de pull-up adecvate dacă este necesar pentru citiri stabile.
Calibrați senzorul pentru tipul specific de sol pentru citiri precise ale umidității.
Mențineți conexiunile de cablare corecte pentru a evita pierderea semnalului.
Fiți atenți la sursa de alimentare pentru a evita situațiile de supratensiune.
Instrucțiuni de Cablare
ESP32-24-soild-moisture-wiring
Pentru a conecta senzorul de umiditate a solului la ESP32, conectați pinul VCC al senzorului la pinul de 3,3V de pe ESP32. Apoi, conectați pinul GND al senzorului la un pin GND de pe ESP32. Pinul de ieșire analogică al senzorului de umiditate a solului trebuie conectat la pinul analogic 35 de pe ESP32. Pentru buzzer, conectați pinul pozitiv la pinul digital 13 de pe ESP32 și pinul negativ la GND. Asigurați-vă că toate conexiunile sunt sigure pentru a evita probleme intermitente în timpul funcționării.
Exemple de Cod și Explicații
Mai jos este un extras scurt din codul care inițializează comunicarea serială și citește valoarea senzorului de umiditate:
void setup() {
// Inițializează comunicarea serială la 115200 de biți pe secundă:
Serial.begin(115200);
}
Acest fragment configurează comunicarea serială, permițându-ne să vizualizăm citirile de la senzorul de umiditate în monitorul serial.
În continuare, avem bucla principală unde valoarea analogică este citită de la senzor:
void loop() {
// Citește valoarea analogică
int analogValue = analogRead(35);
// Afișează valorile
Serial.printf("Valoare analogică = %d\n",analogValue);
delay(300); // întârziere între citiri pentru o citire clară din monitorul serial
}
În această buclă, codul citește continuu valoarea analogică de pe pinul 35 și o afișează în monitorul serial la fiecare 300 de milisecunde. Acest lucru ne permite să monitorizăm nivelul de umiditate în timp real.
Demonstrație / Ce să Ne Așteptăm
Când senzorul de umiditate este plasat în sol uscat, valoarea analogică va fi mai mare, indicând umiditate scăzută. În schimb, când senzorul este introdus în sol umed, valoarea va scădea semnificativ. Dacă citirea scade sub pragul definit (de exemplu, 2000), buzzerul conectat la pinul 13 se va activa, semnalând că planta are nevoie de udare. Fiți atenți la intrările flotante și asigurați-vă că senzorul nu este expus la apă dincolo de limitele recomandate (în video la 02:30).
Marcaje Temporale din Video
00:00 Început
1:51 Introducere în proiect
5:53 Cablare explicată
7:23 Cod Arduino explicat
9:09 Selectarea plăcii ESP32 și a portului COM în Arduino IDE
10:47 Demonstrația proiectului pe ghiveciul cu plantă
14:30 Activarea buzzerului când ghiveciul este uscat
823-ESP32 Tutorial 24/55- Arduino code for soil moisture measurement
Limba: 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
}
Divulgare: Ca asociat Amazon, câștigăm din achizițiile eligibile. Aceasta înseamnă că putem primi un mic comision dacă dai clic pe un link și faci o achiziție fără costuri suplimentare pentru tine.