ESP32 - Bodemvochtigheidssensor Pomp

In deze handleiding leren we hoe u de ESP32 gebruikt om een pomp aan te sturen op basis van de waarde die wordt uitgelezen van een capacitieve bodemvochtigheidssensor.

Hardware Vereist

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB Kabel Type-C
1×Capacitieve Bodemvochtigheidssensor
1×Relais
1×12V Pomp
1×Vinylslang
1×12V Voedingsadapter
1×(Optioneel) DC Stroomconnector
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Aankoopadvies: Veel capacitieve bodemvochtsensoren op de markt zijn van lage kwaliteit, ongeacht de versie. We raden u ten zeerste aan de sensor met TLC555I-chip van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.

Over bodemvochtigheidssensor en pomp

Als u niet bekend bent met de pomp en bodemvochtigheidssensor (pinout, werking, programmeren ...), leert u hierover in de volgende tutorials:

Hoe het werkt

De ESP32 leest periodiek de waarde van de capacitieve bodemvochtigheidssensor uit. Op basis van de gemeten bodemvochtigheid neemt hij de volgende acties:

  • Als de bodemvochtigheidswaarde onder een drempel ligt, activeert de ESP32 automatisch een relay om de pomp aan te zetten.
  • Anders schakelt de ESP32 automatisch het relay uit om de pomp uit te zetten.

Bedradingsschema

ESP32 bodemvochtigheidssensor Pomp Bedradingsschema

This image is created using Fritzing. Click to enlarge image

ESP32 Code

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-soil-moisture-sensor-pump */ #define RELAY_PIN 17 // ESP32 pin GPIO17 that connects to relay #define MOISTURE_PIN 36 // ESP32 pin GPIO36 (ADC0) that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // => CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from soild moisture sensor if (value > THRESHOLD) { Serial.print("The soil moisture is DRY => activate pump"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil moisture is WET => deactivate the pump"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(1000); }

Snelle Stappen

COM6
Send
The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code Uitleg

Lees de regel-voor-regel uitleg in de commentaarregels van de broncode!

※ Notiz:

Deze handleiding gebruikt de functie analogRead() om waarden te lezen van een ADC (Analog-to-Digital Converter) aangesloten op een bodemvochtigheidssensor. De ADC van de ESP32 is geschikt voor projecten waar GEEN hoge nauwkeurigheid nodig is. Voor projecten die preciezere metingen vereisen, houd rekening met:

  • De ADC van de ESP32 is niet perfect nauwkeurig en kan kalibratie nodig hebben voor correcte resultaten. Elk ESP32 bord kan iets verschillen, dus u moet de ADC voor elk bord apart kalibreren.
  • Kalibratie kan moeilijk zijn, vooral voor beginners, en levert mogelijk niet altijd de exacte gewenste resultaten.

Voor projecten die hoge precisie vragen, overweeg een externe ADC (zoals ADS1115) te gebruiken met de ESP32 of een Arduino, die een betrouwbaardere ADC heeft. Als u toch de ADC van de ESP32 wilt kalibreren, raadpleeg dan ESP32 ADC Calibration Driver

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten om u te helpen sneller te leren en fouten te voorkomen.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!