In hierdie tutoriaal gaan ons leer hoe om die SunFounder ESP32 saam met 'n grondvog-sensor te gebruik om die vogvlak in grond te meet, wat kan help met die outomatisering van besproeiingstelsels. Deur die vogvlakke te monitor, kan ons 'n gonser aktiveer wanneer die vog onder 'n sekere drempel daal, wat aandui dat die plante water nodig het. Hierdie projek is waardevol vir die handhawing van plantgesondheid en kan uitgebrei word vir verskeie omgewingswaarnemingstoepassings. (in video by 00:00)
grondvog_module
Ons gaan 'n kapasitiewe grondvog-sensor gebruik, wat werk deur die verandering in kapasitansie tussen twee plate te meet wat wissel op grond van die voginhoud van die omliggende medium. Hierdie sensor sal 'n analoog uitset verskaf wat die vogvlak weerspieël, wat ons in staat stel om besluite te neem op grond van die lesings. Die ESP32 sal die analoog uitset lees en 'n gonser aktiveer as die grond te droog is.
Hardeware Verduidelik
Vir hierdie projek is die primêre komponente die SunFounder ESP32-mikrobeheerder, die kapasitiewe grondvog-sensor, en 'n gonser. Die ESP32 beskik oor ingeboude Wi-Fi en Bluetooth, wat afstandmonitering en -beheer moontlik maak. Die grondvog-sensor bestaan uit twee plate wat kapasitansie meet, wat verander na gelang van die vogvlak in die grond. Hierdie verandering in kapasitansie verander die uitsetspanning, wat die ESP32 deur sy analoog invoer lees. Die gonser sal ons waarsku wanneer die vogvlak onder 'n ingestelde drempel daal.
grondvog_module_skematies
Datablad Besonderhede
Vervaardiger
SunFounder
Deelnommer
Grondvog-sensor
Werkspanning
3.3 tot 5 V
Uitset tipe
Analoog
Seinreeks
0 tot 3.3 V
Reaksietyd
Vinnig
Afmetings
Ongeveer 60 x 20 mm
Notas / variante
Kapasitiewe tipe sensor
Maak seker die sensor word nie heeltemal in water ondergedompel nie om skade te voorkom.
Gebruik toepaslike optrekweerstande indien nodig vir stabiele lesings.
Kalibreer die sensor vir jou spesifieke grondtipe vir akkurate voglesings.
Handhaaf behoorlike bedradingsverbindings om seinafval te vermy.
Wees versigtig met die kragtoevoer om oorspanning-situasies te vermy.
Bedradingsinstruksies
ESP32-24-soild-moisture-wiring
Om die grondvog-sensor aan die ESP32 te bedraad, verbind die VCC-pen van die sensor aan die 3.3V-pen op die ESP32. Verbind dan die GND-pen van die sensor aan 'n GND-pen op die ESP32. Die analoog uitsetpen van die grondvog-sensor moet aan die analoog pen 35 op die ESP32 gekoppel word. Vir die gonser, verbind die positiewe pen aan digitale pen 13 op die ESP32 en die negatiewe pen aan GND. Maak seker alle verbindings is veilig om enige intermitterende probleme tydens werking te vermy.
Kode Voorbeelde & Deurloop
Hieronder is 'n kort uittreksel uit die kode wat die seriekommunikasie initialiseer en die vog-sensorwaarde lees:
void setup() {
// Initialiseer seriekommunikasie teen 115200 bisse per sekonde:
Serial.begin(115200);
}
Hierdie snit stel die seriekommunikasie op, wat ons in staat stel om die lesings van die vog-sensor in die serie-monitor te sien.
Volgende het ons die hoof lus waar die analoogwaarde van die sensor gelees word:
void loop() {
// Lees die analoogwaarde
int analogValue = analogRead(35);
// Druk die waardes uit
Serial.printf("Analoogwaarde = %d\n",analogValue);
delay(300); // vertraging tussen lesings vir duidelike lees van serie-monitor
}
In hierdie lus lees die kode voortdurend die analoogwaarde van pen 35 en druk dit elke 300 millisekondes na die serie-monitor. Dit stel ons in staat om die vogvlak in reële tyd te monitor.
Demonstrasie / Wat om te Verwacht
Wanneer die vog-sensor in droë grond geplaas word, sal die analoogwaarde hoër wees, wat lae vog aandui. Omgekeerd, wanneer die sensor in klam grond geplaas word, sal die waarde aansienlik daal. As die lesing onder die gedefinieerde drempel daal (bv. 2000), sal die gonser wat aan pen 13 gekoppel is, aktiveer, wat aandui dat die plant water nodig het. Wees versigtig met drywende insette en maak seker die sensor word nie aan water blootgestel buite sy aanbevole perke nie (in video by 02:30).
823-ESP32 Tutorial 24/55- Arduino code for soil moisture measurement
Taal: 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
}
Openbaring: As 'n Amazon-assosiate verdien ons uit kwalifiserende aankope. Dit beteken ons mag 'n klein kommissie ontvang as jy op 'n skakel klik en 'n aankoop doen sonder enige ekstra koste vir jou.