ESP32 - Capteur d'eau - Pompe

Dans ce tutoriel, nous apprendrons à utiliser un ESP32 pour activer une pompe afin de drainer de l'eau lorsqu'elle est détectée par un capteur d'eau. En d'autres termes, nous découvrirons comment créer un système de drainage automatique en utilisant un ESP32, un capteur d'eau et une pompe.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Water level 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) ESP32 Screw Terminal Adapter

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'eau et de la pompe

Si vous ne connaissez pas les capteurs d'eau et la pompe (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :

Comment fonctionne le système de drainage automatique

L'ESP32 lit périodiquement la valeur du capteur d'eau, puis :

  • Si la valeur est supérieure à un seuil prédéfini, l'ESP32 active le relais pour activer la pompe.
  • Sinon, l'ESP32 éteint la pompe.

Diagramme de câblage

Schéma de câblage de la pompe commandée par capteur d'eau 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-water-sensor-pump */ #define RELAY_PIN 13 // The ESP32 pin GPIO13 that connects to the relay to control the pump #define POWER_PIN 32 // The ESP32 pin GPIO32 that provides the power to the water sensor #define SIGNAL_PIN 36 // The ESP32 pin GPIO36 that reads the value from the water sensor #define THRESHOLD 1000 // The threshold for water detectiion void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); // configure D2 pin as an OUTPUT pinMode(POWER_PIN, OUTPUT); // configure D7 pin as an OUTPUT digitalWrite(POWER_PIN, LOW); // turn the water sensor OFF digitalWrite(RELAY_PIN, LOW); // turn the pump OFF } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the water sensor's power ON delay(10); // wait 10 milliseconds int value = analogRead(SIGNAL_PIN); // read the analog value from sensor digitalWrite(POWER_PIN, LOW); // turn the water sensor's power OFF if (value > THRESHOLD) { Serial.print("The water is detected"); digitalWrite(RELAY_PIN, HIGH); // turn the pump ON } else { digitalWrite(RELAY_PIN, LOW); // turn the pump OFF } delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Étapes rapides

  • Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Réalisez le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez l'Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload sur Arduino IDE pour charger le code sur l'ESP32.
Téléversement de code Arduino IDE
  • Mettez le capteur d'eau dans l'eau
  • Vérifiez l'état de la pompe

Explication du code

Lisez les explications 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!