ESP8266 - Capteur d'eau
Ce tutoriel vous explique comment utiliser le capteur d'eau avec l'ESP8266. Nous apprendrons :
- Comment connecter le capteur d'eau à l'ESP8266
- Comment programmer l'ESP8266 pour lire l'état du capteur d'eau.
- Comment détecter les fuites d'eau, les précipitations, le débordement du réservoir et mesurer le niveau d'eau.
- Comment calibrer le capteur d'eau.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | Water level sensor | |
1 | × | Jumper Wires | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | |
1 | × | (Optional) ESP8266 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 possède 3 broches :
- La broche S (Signal) est une sortie analogique qui doit être connectée à l'une des entrées analogiques de votre ESP8266.
- La broche + (VCC) alimente le capteur et il est conseillé d'utiliser une tension entre 3,3V et 5V.
- La broche - (GND) est une connexion à la terre.
Fonctionnement du capteur de niveau d'eau
En bref, la tension de sortie sur la broche de signal augmente à mesure que le capteur est exposé à davantage d'eau.
Examinons cela de plus près.
Le capteur possède un ensemble de dix pistes de cuivre exposées, dont cinq sont des pistes d'alimentation et les autres cinq des pistes de détection. Les pistes sont disposées en parallèle, avec une piste de détection entre chaque deux pistes d'alimentation. À moins d'être immergées dans l'eau, ces pistes ne sont pas connectées.
Les traces fonctionnent comme une résistance variable (tout comme un potentiomètre) dont la résistance varie en fonction du niveau d'eau :
- La résistance des traces est inversement proportionnelle à la hauteur de l'eau.
- Plus la quantité d'eau dans laquelle le capteur est immergé est grande, meilleure est la conductivité, ce qui entraîne une résistance plus faible.
- Moins la quantité d'eau dans laquelle le capteur est immergé est grande, pire est la conductivité, ce qui entraîne une résistance plus élevée.
- La tension de sortie du capteur est déterminée par la résistance.
Évaluer la tension peut servir à déterminer le niveau d'eau.
Diagramme de câblage
En théorie, les broches VCC et GND du capteur peuvent être connectées respectivement aux broches 5v et GND de l'ESP8266, afin d'alimenter le capteur.
Cependant, il n'est pas conseillé d'utiliser cette méthode en pratique. Si l'environnement est humide, alimenter constamment le capteur entraînera sa corrosion électrochimique à un rythme accéléré, réduisant ainsi sa durée de vie. Pour éviter cela, nous suggérons d'alimenter le capteur uniquement lorsque vous avez besoin de lire sa valeur. Cela peut être réalisé en connectant la broche VCC du capteur à une broche numérique d'un ESP8266 et en réglant la broche de l'Arduino sur HIGH avant la lecture et sur LOW après.
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Code ESP8266 - Lecture de la valeur du capteur d'eau
Étapes rapides
Pour commencer avec l'ESP8266 sur l'IDE Arduino, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Sélectionnez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload dans Arduino IDE pour compiler et téléverser le code sur l’ESP8266.
- Abaissez doucement le capteur dans un verre d'eau.
- Observez le résultat sur le moniteur série ; la valeur doit être 0 lorsque le capteur n'est en contact avec rien.
※ NOTE THAT:
Le capteur ne doit pas être complètement immergé ; seules les pistes exposées sur le PCB doivent entrer en contact avec l'eau. Veuillez faire attention lors de son installation.
Comment détecter une fuite d'eau
Pour identifier les fuites d'eau, les précipitations et le débordement du réservoir, nous devons simplement comparer la valeur mesurée à une valeur seuil déterminée lors de la section d'étalonnage de ce tutoriel.
Considérons un cas particulier. Si de l'eau est détectée, l'ESP8266 activera une LED.
Schéma de câblage
This image is created using Fritzing. Click to enlarge image
Code ESP8266 - Détection de fuite d'eau
Comment mesurer le niveau d'eau
Si vous souhaitez mesurer le niveau actuel de l'eau en divisant la hauteur maximale en différents niveaux, vous pouvez utiliser le code suivant. Notez que la hauteur maximale de l'eau est équivalente à la hauteur du capteur. Ce code divise la hauteur maximale en quatre niveaux.
※ NOTE THAT:
- SENSOR_MIN et SENSOR_MAX sont déterminés par le processus de calibration.
- La méthode de cartographie mentionnée ci-dessus n'est pas précise. Néanmoins, elle convient à de nombreuses applications. Si vous souhaitez rendre les résultats plus précis, vous pouvez mesurer les valeurs seuils pour chaque niveau. Pour plus d'informations, veuillez vous référer à la section de calibration à la fin de ce tutoriel.
Calibrage du capteur de niveau d'eau
La valeur de sortie du capteur est déterminée par deux facteurs : le niveau d'eau et la conductivité de l'eau. L'eau pure n'est pas conductrice, cependant, lorsque des minéraux et des impuretés sont présents, elle devient conductrice. Plus l'eau est conductrice, plus la sensibilité du capteur est élevée. De plus, la valeur de sortie est également affectée par la tension fournie à la broche VCC du capteur.
Pour des mesures précises du capteur d'eau, nous vous suggérons de le calibrer pour le type spécifique d'eau que vous souhaitez surveiller.
Avant de définir le seuil pour déclencher une action, il est nécessaire de mesurer la valeur réelle obtenue à partir du capteur lors d'un test.
Instructions pour le test :
- Utilisez le croquis fourni ci-dessus pour lire la valeur du capteur.
- Immergez le capteur dans l'eau, en vous assurant qu'il est au niveau de seuil désiré.
- Enregistrez la valeur émise par le capteur dans le moniteur série.
- Utilisez cette valeur comme seuil pour déclencher une action spécifique.
Il faudra peut-être expérimenter pour réussir ce test.
Le test peut également être utilisé pour découvrir :
- Valeur SENSOR_MIN, lorsque le capteur n'est pas immergé dans le liquide
- Valeur SENSOR_MAX, lorsque le capteur est totalement immergé dans le liquide
- Une valeur limite pour détecter les fuites d'eau
- Les valeurs limites pour chaque étape de votre échelle de degrés.
Vidéo
Mettez-vous au défi
- En cas de détection de fuite d'eau,
- Envoyer un courriel,
- Envoyer un message SMS,
- Et déclencher une alarme sonore.