In deze tutorial leren we hoe we de SunFounder ESP32 samen met een bodemvochtsensor kunnen gebruiken om het vochtgehalte in de bodem te meten, wat kan helpen bij het automatiseren van irrigatiesystemen. Door de vochtigheidsniveaus te bewaken, kunnen we een zoemer activeren wanneer het vocht onder een bepaalde drempelwaarde zakt, wat aangeeft dat de planten water nodig hebben. Dit project is waardevol voor het behoud van de plantgezondheid en kan worden uitgebreid voor verschillende omgevingssensortoepassingen. (in video op 00:00)
soil_mositure_module
We zullen een capacitieve bodemvochtsensor gebruiken, die werkt door de verandering in capaciteit tussen twee platen te meten, die varieert op basis van het vochtgehalte van het omringende medium. Deze sensor levert een analoge uitgang die het vochtigheidsniveau weerspiegelt, waardoor we beslissingen kunnen nemen op basis van de metingen. De ESP32 leest de analoge uitgang en activeert een zoemer als de grond te droog is.
Hardware uitgelegd
Voor dit project zijn de belangrijkste componenten de SunFounder ESP32-microcontroller, de capacitieve bodemvochtsensor en een zoemer. De ESP32 heeft ingebouwde Wi-Fi en Bluetooth, waardoor bewaking en bediening op afstand mogelijk is. De bodemvochtsensor bestaat uit twee platen die de capaciteit meten, die verandert afhankelijk van het vochtgehalte in de grond. Deze verandering in capaciteit wijzigt de uitgangsspanning, die de ESP32 leest via zijn analoge ingang. De zoemer waarschuwt ons wanneer het vochtigheidsniveau onder een ingestelde drempelwaarde zakt.
soil_mositure_module_schematic
Datasheetdetails
Fabrikant
SunFounder
Onderdeelnummer
Bodemvochtsensor
Bedrijfsspanning
3,3 tot 5 V
Uitgangstype
Analoog
Signaalbereik
0 tot 3,3 V
Reactietijd
Snel
Afmetingen
Ongeveer 60 x 20 mm
Opmerkingen / varianten
Capacitief type sensor
Zorg ervoor dat de sensor niet volledig in water wordt ondergedompeld om schade te voorkomen.
Gebruik indien nodig geschikte pull-up-weerstanden voor stabiele metingen.
Kalibreer de sensor voor uw specifieke grondsoort voor nauwkeurige vochtmetingen.
Zorg voor correcte bedradingsverbindingen om signaalverlies te voorkomen.
Wees voorzichtig met de voeding om overspanningssituaties te voorkomen.
Bedradingsinstructies
ESP32-24-soild-moisture-wiring
Om de bodemvochtsensor op de ESP32 aan te sluiten, verbindt u de VCC-pin van de sensor met de 3,3V-pin op de ESP32. Verbind vervolgens de GND-pin van de sensor met een GND-pin op de ESP32. De analoge uitgangspin van de bodemvochtsensor moet worden verbonden met de analoge pin 35 op de ESP32. Voor de zoemer verbindt u de positieve pin met digitale pin 13 op de ESP32 en de negatieve pin met GND. Zorg ervoor dat alle verbindingen stevig zijn om onderbrekingsproblemen tijdens de werking te voorkomen.
Codevoorbeelden & uitleg
Hieronder staat een kort fragment uit de code dat de seriële communicatie initialiseert en de waarde van de vochtsensor leest:
void setup() {
// Initialiseer seriële communicatie op 115200 bits per seconde:
Serial.begin(115200);
}
Dit fragment stelt de seriële communicatie in, waardoor we de metingen van de vochtsensor in de seriële monitor kunnen bekijken.
Vervolgens hebben we de hoofdloop waarin de analoge waarde van de sensor wordt gelezen:
void loop() {
// Lees de analoge waarde
int analogValue = analogRead(35);
// Druk de waarden af
Serial.printf("Analoge waarde = %d\n",analogValue);
delay(300); // vertraging tussen metingen voor duidelijke weergave in seriële monitor
}
In deze loop leest de code continu de analoge waarde van pin 35 en drukt deze elke 300 milliseconden af op de seriële monitor. Dit stelt ons in staat om het vochtigheidsniveau in realtime te bewaken.
Demonstratie / Wat te verwachten
Wanneer de vochtsensor in droge grond wordt geplaatst, zal de analoge waarde hoger zijn, wat wijst op laag vocht. Omgekeerd, wanneer de sensor in vochtige grond wordt gestoken, zal de waarde aanzienlijk dalen. Als de meting onder de ingestelde drempelwaarde zakt (bijv. 2000), zal de zoemer die is verbonden met pin 13 worden geactiveerd, wat aangeeft dat de plant water nodig heeft. Wees voorzichtig met zwevende ingangen en zorg ervoor dat de sensor niet wordt blootgesteld aan water buiten de aanbevolen limieten (in video op 02:30).
Videotijdstempels
00:00 Start
1:51 Introductie van het project
5:53 Bedrading uitgelegd
7:23 Arduino-code uitgelegd
9:09 ESP32-bord en COM-poort selecteren in Arduino IDE
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
}
Openbaarmaking: Als Amazon Associate verdienen we aan gekwalificeerde aankopen. Dit betekent dat we een kleine commissie kunnen ontvangen als je op een link klikt en een aankoop doet zonder extra kosten voor jou.