Arduino Nano - Capteur d'eau
Ce tutoriel vous explique comment utiliser le capteur d'eau avec Arduino Nano. Nous allons apprendre :
- Comment connecter le capteur d'eau à l'Arduino Nano
- Comment programmer l'Arduino Nano pour lire l'état du capteur d'eau.
- Comment calibrer le capteur d'eau.
Cela peut être appliqué aux applications qui détectent les fuites d'eau, les précipitations, le débordement de réservoir...
Préparation du matériel
1 | × | Arduino Nano | |
1 | × | USB A to Mini-B USB cable | |
1 | × | Water level sensor | |
1 | × | Jumper Wires | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | |
1 | × | (Recommended) Screw Terminal Adapter for Arduino Nano |
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 a 3 broches :
- La broche S (Signal) est une sortie analogique qui sera connectée à l'une des entrées analogiques de votre Arduino Nano.
- La broche + (VCC) alimente le capteur et il est suggéré 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 résumé, plus la quantité d'eau dans laquelle le capteur est immergé est grande, plus la tension de la broche de signal sera élevée.
Examinons cela de plus près.
Le capteur dispose d'un ensemble de dix pistes de cuivre exposées :
- Cinq d'entre eux sont des pistes de puissance
- Les cinq autres sont des pistes de détection.
Les voies sont disposées en parallèle avec une voie de sens entre chaque deux voies de puissance. À moins qu'elles ne soient reliées par l'eau lorsqu'elles sont immergées, les voies ne sont pas connectées.
Les traces agissent comme une résistance variable, semblable à un potentiomètre, dont la résistance varie avec le niveau d'eau :
- La résistance est déterminée par la distance entre le haut du capteur et la surface de l'eau.
- La résistance est inversement proportionnelle à la quantité d'eau présente :
- Lorsque plus d'eau est présente, la conductivité est améliorée et la résistance est diminuée.
- Lorsque moins d'eau est présente, la conductivité est réduite et la résistance est augmentée.
- Le capteur produit une tension de sortie basée sur la résistance.
La détermination du niveau d'eau peut se faire en mesurant la tension.
Diagramme de câblage
En théorie, les broches VCC et GND du capteur peuvent être connectées aux broches 5v et GND de l'Arduino Nano afin d'alimenter le capteur.
Toutefois, il n'est pas conseillé d'adopter cette approche en pratique. Dans un environnement humide, si le capteur est alimenté en continu, il sera corrodé électrochimiquement plus rapidement, ce qui réduira sa durée de vie.
Pour éviter cela, nous suggérons de ne pas alimenter le capteur en permanence, mais uniquement lors de la lecture de sa valeur. Cela peut être réalisé en connectant la broche VCC du capteur à une broche numérique d'un Arduino Nano, et en réglant la broche de l'Arduino sur HIGH avant la lecture et sur LOW ensuite.
This image is created using Fritzing. Click to enlarge image
Code Arduino Nano - Lecture de la valeur provenant du capteur d'eau
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino Nano.
- Plongez doucement le capteur dans un verre d'eau.
- Vérifiez le moniteur série pour voir le résultat ; il devrait être de 0 lorsque le capteur ne touche rien.
※ NOTE THAT:
Le capteur ne doit pas être complètement immergé dans l'eau ; seules les pistes exposées sur le PCB doivent entrer en contact avec celle-ci. 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, il suffit de comparer la valeur mesurée à une valeur seuil déterminée dans la section d'étalonnage de ce tutoriel.
Examinons un cas particulier. Si de l'eau est détectée, l'Arduino Nano activera une LED.
Schéma de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino Nano - Détection de fuite d'eau
Comment mesurer le niveau d'eau
Si vous souhaitez diviser la hauteur maximale de l'eau en différents niveaux et mesurer le niveau actuel, vous pouvez utiliser la technique dans le code ci-dessous. Notez que la hauteur maximale de l'eau est équivalente à la hauteur du capteur. Le code ci-dessous divise la hauteur maximale en 4 niveaux.
※ NOTE THAT:
- SENSOR_MIN et SENSOR_MAX sont déterminés par calibration.
- La méthode de cartographie mentionnée n'est pas précise, mais elle convient à de nombreuses applications.
- Si vous souhaitez la rendre plus précise, vous pouvez mesurer les valeurs seuils pour chaque niveau. Reportez-vous à la section de calibration du manuel pour plus d'informations.
Étalonnage du capteur de niveau d'eau
La sortie du capteur est influencée à la fois par le niveau d'eau et la conductivité de l'eau. L'eau pure n'a pas de conductivité, tandis que l'eau contenant des minéraux et des impuretés est conductrice. Plus la conductivité de l'eau est élevée, plus le capteur sera sensible. De plus, la valeur de sortie est également affectée par la tension fournie à la broche VCC du capteur.
Pour garantir la précision lors de la lecture du capteur d'eau, nous suggérons de calibrer le capteur pour le type spécifique d'eau à surveiller.
Avant d'établir la limite pour activer une réponse, il est nécessaire d'évaluer la valeur réelle obtenue du capteur en réalisant une expérience.
Instructions pour le test :
- Reportez-vous au croquis fourni ci-dessus lors de la lecture des valeurs des capteurs.
- Placez le capteur dans l'eau au niveau de seuil souhaité.
- Enregistrez la valeur affichée par le capteur dans le moniteur série.
- Utilisez cette valeur comme seuil pour activer une action.
Il peut être nécessaire d'expérimenter pour terminer ce test. Soyez prêt à essayer différentes approches. Soyez prêt à expérimenter diverses stratégies. Faites preuve de patience et ne renoncez pas. Ayez de la persévérance et ne vous avouez pas vaincu.
Le test peut être utilisé pour révéler :
- Valeur SENSOR_MIN, lorsque le capteur n'est pas immergé dans le liquide
- Valeur SENSOR_MAX, lorsque le capteur est totalement immergé dans l'eau
- Une valeur seuil pour reconnaître le déversement d'eau
- Les valeurs seuils pour chaque niveau de votre échelle de degrés.
Vidéo
Mettez-vous au défi
- Lorsqu'une fuite d'eau est détectée :
- Envoyer un email
- Envoyer un SMS
- Déclencher une alarme sonore