ESP32 - Automatisch Irrigatiesysteem

Deze handleiding leert u hoe u een automatisch irrigatiesysteem voor de tuin maakt met behulp van de ESP32, een bodemvochtigheidssensor, relais en pomp. In detail:

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Capacitive Soil Moisture Sensor (capacitatieve bodemvochtigheidssensor)
1×Relais
1×12V Pomp
1×Vinylslang
1×12V Voedingsadapter
1×(Optioneel) DC-voedingsconnector
1×Breadboard (experimenteerprint)
1×Jumper draden (koppeldraden)
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

We hebben specifieke tutorials over de bodemvochtigheidssensor en de pomp. Elke tutorial bevat gedetailleerde informatie en stap-voor-stap instructies over de hardware pinout, werkingsprincipe, bedradingsverbinding met de ESP32, ESP32 code... Leer er meer over via de volgende links:

Bedradingsschema

ESP32 Irrigatiesysteem 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-automatic-irrigation-system */ #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 sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(200); }

Snelle Stappen

  • Voer kalibratie uit om de nat-droog DREMPELwaarde (THRESHOLD) vast te stellen, zie ESP32 - Kalibreert Bodemvochtigheidssensor
  • Werk de gekalibreerde DREMPELwaarde bij in de code
  • Open de Seriële Monitor in de Arduino IDE
  • Upload de code naar het ESP32 board
  • Bekijk het resultaat in de Seriële Monitor. Het ziet er ongeveer als volgt uit:
COM6
Send
The soil is DRY => turn pump ON (1921) The soil is DRY => turn pump ON (1821) The soil is DRY => turn pump ON (1741) The soil is DRY => turn pump ON (1645) The soil is DRY => turn pump ON (1564) The soil is WET => turn pump OFF (1465) The soil is WET => turn pump OFF (1411) The soil is WET => turn pump OFF (1365) The soil is WET => turn pump OFF (1375) The soil is WET => turn pump OFF (1279)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code Uitleg

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

※ Notiz:

Deze tutorial gebruikt de functie analogRead() om waarden uit te lezen van een ADC (Analog-to-Digital Converter) die is aangesloten op een bodemvochtigheidssensor. De ESP32 ADC is geschikt voor projecten die GEEN hoge nauwkeurigheid vereisen. Echter, voor projecten die precieze metingen nodig hebben, let op:

  • De ESP32 ADC is niet perfect nauwkeurig en kan kalibratie nodig hebben voor correcte resultaten. Elk ESP32 board kan iets verschillen, dus u moet de ADC voor elk board afzonderlijk kalibreren.
  • Kalibratie kan lastig zijn, vooral voor beginners, en geeft mogelijk niet altijd de exacte resultaten die u wenst.

Voor projecten waarbij hoge precisie vereist is, overweeg het gebruik van een externe ADC (bijv. ADS1115) in combinatie met de ESP32 of het gebruik van een Arduino, die een betrouwbaardere ADC heeft. Als u toch de ESP32 ADC wilt kalibreren, raadpleeg dan de ESP32 ADC Kalibratie 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.

※ 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!