Objectifs
- Savoir comment faire son capteur de niveau d’eau facilement
- Savoir comment utiliser les entrées analogiques
- Savoir exploiter la conductivité de l’eau dans les projets
- Se familiariser avec la programmation Arduino
- Etc.
Exemples d’applications
- Capteur de niveau d’un fluide conducteur à faible coût
- Système de pompage automatique
- Sécurité anti-débordement d’un fluide
- Surveillance de niveau en temps réels
Fonctionnement
Le mini projet est une application simple du capteur de niveau d’eau avec Arduino. Le projet ne nécessite pas l’utilisation des transistors pour augmenter le courant. La mise en oeuvre nécessite uniquement des fils, une carte Arduino et des résistances (10k…100k). L’astuce consiste l’utilisation de la propriété de conductivité de l’eau. En effet, nous avons utilisé une barre (ou un fil) conductrice injectée dans le réservoir de l’eau. La détection du niveau est assurée par le contact de l’eau avec la pointe (conductrice) du fil qui lui correspond. On distingue deux situations :
Lorsque la pointe (l’extrémité du fil du niveau) n’a pas de contact avec l’eau : dans ce cas, l’entrée analogique Ax (A0… À3) vois la tenson aux bornes de résistance 10 K, elle est égale à 0V (entrée en air).
Lorsque la pointe (l’extrémité du fil du niveau) est en contact avec l’eau : Dans le cas ou l’eau est considéré comme un conducteur parfait, la pointe rouge du fil dans le réservoir voit une tension égale à 5V, car l’eau est alimentée avec une tension égale à 5V. Dans le cas pratique, la valeur de la tension est inférieure à 5V. Dans notre exemple on choisit un seuil de l’ordre de 1.9V.
Nous utiliserons 4 LEDs rouges indiquant le niveau de l’eau. Les fils utilisés doivent être étanches et dénudés uniquement à l’extrémité (pointe rouge). Si le fil n’est pas étanche on risque d’avoir une LED allumée en permanent.
Le nombre de niveaux est égal à 4. Vous pouvez en ajouter d’autres.
Câblage de la carte
- A0 : Entrée, Niveau 0
- A1 : Entrée, Niveau 1
- A2 : Entrée, Niveau 2
- A3 : Entrée, Niveau 3
- D2 : Sortie, Indicateur Niveau 0
- D3: Sortie, Indicateur Niveau 1
- D4: Sortie, Indicateur Niveau 2
- D5: Sortie, Indicateur Niveau 3
Programme Arduino
La nouvelle fonction SetStateLevel() sera utilisée dans le programme. Elle permet d’allumer ou d’éteindre une LEDx en fonction de la valeur de l’entrée analogique Ax. La fonction dispose d’une entrée qui présente le seuil de transition. Lorsque la tension à la borne de Ax est supérieure au seuil, la fonction mis à l’état « 1 » la LEDx. La LED reste éteinte dans le cas échéant.