ESP32 - Capteur d'humidité du sol avec pompe

Dans ce tutoriel, nous allons apprendre à utiliser l'ESP32 pour contrôler la pompe en fonction de la valeur lue par le capteur d'humidité du sol capacitif.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Capacitive Soil Moisture Sensor
1×Relay
1×12V Pump
1×Vinyl Tube
1×12V Power Adapter
1×(Optional) DC Power Jack
1×Breadboard
1×Jumper Wires
1×(Recommended) Screw Terminal Expansion Board for ESP32
1×(Recommended) Power Splitter For ESP32

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur d'humidité du sol et de la pompe

Si vous ne connaissez pas les pompes et les capteurs d'humidité du sol (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Comment ça fonctionne

L'ESP32 lit périodiquement la valeur provenant du capteur d'humidité du sol capacitif. En fonction de la valeur d'humidité du sol, il prendra les actions suivantes :

  • Si la valeur d'humidité du sol est inférieure à un seuil, l'ESP32 active automatiquement un relais pour allumer une pompe.
  • Sinon, l'ESP32 désactive automatiquement un relais pour éteindre une pompe.

Diagramme de câblage

Schéma de câblage de la pompe du capteur d'humidité du sol ESP32

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Code ESP32

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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); }

Étapes rapides

  • Si c'est la première fois que vous utilisez un ESP32, consultez Installation du logiciel ESP32..
  • Effectuez une calibration pour déterminer le seuil d'humidité, consultez Capteur d'humidité du sol ESP32.
  • Mettez à jour la valeur calibrée pour THRESHOLD dans le code
  • Ouvrez le moniteur série sur Arduino IDE
  • Téléversez le code sur ESP32
  • Consultez le résultat sur le moniteur série.
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  

Explication du code

Lisez l'explication ligne par ligne dans les lignes de commentaire du code source !

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!