Dans cette article nous allons voir comment réaliser un détecteur de fuite d’eau pour le raspberry pi pour moins de 5€.
Le montage
Les détecteurs de fuites d’eau disponible pour les solutions domotique commerciales ont un fonctionnement très simple. Il suffit d’appliquer une tension au bout de deux bornes en métal séparer de quelques millimètres. En cas de fuite, comme l’eau est un fluide conducteur, le circuit électrique se ferme et le courant passe.
Ce courant est relativement faible et il est nécessaire de l’amplifier. Pour cela, nous utilisons un transistor Darlington.
Il et alors possible de réaliser un circuit imprimé à partir du montage suivant :
ou alors de commander un kit à monter soit même. Personellement, j’ai commandé ce kit pour un peut moins de 6€ ici.
J’ai alors remplacé le buzzer par une sortie vers le raspberry pi (- de buzzer vers le raspberry pi) et l’alimentation 9V par l’alimentation en 3V du raspberry pi. Attention à bien utiliser une alimentation 3V au risque de griller votre raspberry.
J’obtiens le module suivant :
Le code
Le code est assez similaire à celui de la détection d’un interrupteur. Afin de profiter au mieux des ressources du raspberry, j’utilise la librairie bcm2835 déjà détaille dans cet article.
Le code est le suivant, à noter que nous utilisons cette fois une résistance de pull-up.
#include <bcm2835.h> #include <stdio.h> // Input sur le GPIO22 qui est nommé 15 dans le système de la librairie #define PIN RPI_GPIO_P1_15 int main(int argc, char ** argv) { if (!bcm2835_init()) { return 1; } // Fixe le GPIO en entrée bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_INPT); // avec une résistance de pull down bcm2835_gpio_set_pud(PIN, BCM2835_GPIO_PUD_UP); while (1) { // lecture du niveau d'entrée uint8_t value = bcm2835_gpio_lev(PIN); printf("lecture GPIO22: %d\n", value); // attendre 2s delay(2000); } //Un brin de toilette bcm2835_close(); return 0; } |
Pour compiler :
$ gcc main.c -lrt -lbcm2835 -o main.o |
Vous devriez alors voir apparaitre un 1 lorsque tout va bien et un 0 si vous plongez votre capteur dans l’eau.
Améliorations possibles
- Ajouter une interface php
- Ajouter une alerte email / téléphone
- Ajouter un module RF
- …
Voilà quelques idées pour améliorer ce capteur qui permet pour un coût raisonnable d’améliorer votre installation domotique.