ESP32 - Capteur d'eau
Ce tutoriel vous explique comment utiliser l'ESP32 et un capteur d'eau pour détecter les précipitations, les fuites d'eau, le débordement de réservoir et mesurer le niveau d'eau.
Préparation du matériel
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | USB Cable Type-C | |
1 | × | Water level sensor | |
1 | × | Breadboard | |
1 | × | Jumper Wires | |
1 | × | (Optional) DC Power Jack | |
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) |
À propos du capteur de niveau d'eau
Brochage du capteur de niveau d'eau
Le capteur de niveau d'eau comprend 3 broches :
- Broche S (Signal) : Cette broche émet une tension analogique proportionnelle au niveau de l'eau. Cette broche doit être connectée à une broche d'entrée analogique de l'ESP32.
- Broche + (VCC) : connectez cette broche à 3,3V ou 5V.
- Broche - (GND) : connectez cette broche à GND.
Fonctionnement du capteur de niveau d'eau
Plus le capteur est immergé dans l'eau, plus la tension de sortie sur la broche S est élevée. En mesurant cette tension, nous pouvons connaître le niveau d'eau.
Diagramme de câblage
En théorie, nous pouvons alimenter le capteur d'eau en connectant les broches VCC et GND du capteur aux broches 3.3V et GND de l'ESP32, respectivement.
Cependant, cette méthode n'est pas recommandée en pratique. Si nous alimentons en continu le capteur d'eau, celui-ci se corrode plus rapidement par électrochimie à cause de l'environnement humide ⇒ Il est préférable d'alimenter le capteur d'eau uniquement lors de la lecture de la valeur du capteur. Pour ce faire, nous pouvons connecter la broche VCC du capteur à une broche numérique de l'ESP32, et programmer la broche de l'ESP32 en HAUT avant la lecture et en BAS après la lecture.
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 - Lecture de la valeur provenant du capteur d'eau
Étapes rapides
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload de l'Arduino IDE.
- Plongez lentement le capteur dans l'eau (un verre d'eau).
- Consultez le résultat sur le moniteur série. Cela ressemble à ce qui suit : La valeur 0 lorsque le capteur ne touche rien.
※ NOTE THAT:
Le capteur d'eau n'est pas conçu pour être complètement immergé, seules les pistes exposées sur le PCB peuvent être plongées dans l'eau. Veuillez faire attention lors de son installation.
Comment détecter une fuite d'eau
Pour détecter les fuites d'eau, les précipitations et le débordement du réservoir, il suffit de comparer la valeur du capteur à un seuil. Le seuil est déterminé dans la partie étalonnage de ce tutoriel.
Faisons en sorte que l'ESP32 allume une LED si une fuite d'eau est détectée.
Schéma de câblage
This image is created using Fritzing. Click to enlarge image
Code ESP32 - Détection de fuite d'eau
Comment mesurer le niveau d'eau
Le code ci-dessous divise le niveau d'eau en 4 niveaux.
※ NOTE THAT:
- SENSOR_MIN et SENSOR_MAX sont déterminés par le processus de calibrage.
- La méthode de mappage ci-dessus n'est pas précise. Cependant, elle est acceptable dans de nombreuses applications.