Lecture d’un débitmètre/capteur de débit d’eau sur le Raspberry Pi

Durchflussmesser / Water Flow Sensor am Raspberry Pi auslesen

Dans des projets tels que la serre automatisée, il est important de connaître la quantité d’eau, par exemple, qui atteint les plantes pour l’irrigation. Il existe également une variante peu coûteuse que nous pouvons lire rapidement à l’aide du langage de programmation Python et également intégrer dans notre système de maison intelligente. Nous pouvons interroger le capteur de débit d’eau Raspberry Pi à n’importe quelle fréquence (par exemple toutes les secondes) pour déterminer combien de litres le traversent par seconde ou minute.

Vous pouvez trouver la configuration exacte et le code correspondant dans ce tutoriel.

Pièces de matériel requises

Selon le projet, vous utiliserez quelques autres pièces matérielles. Dans ce tutoriel, cependant, nous nous limiterons à lire le capteur et n’assumerons donc que les parties absolument nécessaires. Ceux-ci sont:

Afin de pouvoir connecter un tuyau, nous avons besoin d’un connecteur de robinet. Il y a deux façons de faire ça:

  1. Imprimez-le vous-même (Imprimante 3D requis) à l’aide de ce fichier
  2. Achetez-le (un demi-pouce)

Connexion du capteur de débit d’eau YF-S201 au Raspberry Pi

Dans le Fiche technique du capteur, nous trouvons différentes informations, dont les plus importantes sont :

  • Tension d’entrée : 3,5 – 24 V
  • Plage de débit : 1-30 litres par minute
  • F = 7Q (L/MIN)
  • Exemples de fréquences :
    • 2L/MIN=16HZ
    • 4L/MIN=32.5HZ
    • 6L/MIN=49,3 Hz
    • 8L/MIN=65.5HZ
    • 10L/MIN=82HZ
  • une seule broche de signal (jaune)

La connexion au Raspberry Pi à l’aide d’un câble de démarrage est facile grâce aux trois broches :

  1. GND (noir) à GND (broche 6)
  2. VCC (rouge) à 3,3 V (broche 1)
  3. Signalez (jaune) un GPIO 13 (broche 33)

Bien qu’au moins 3,5 V soient requis selon la fiche technique, j’ai pu lire le signal avec succès même à 3,3 V. Si ce n’est pas possible, vous pouvez utiliser 5V et mettre une résistance plus grande entre la sortie du signal et le GPIO.

En principe, toute autre broche GPIO libre peut également être utilisée :

Affectation des broches GPIO du Raspberry Pi

Affectation des broches GPIO du Raspberry Pi

Il ne reste plus qu’à raccorder les durites. Nous avons besoin du connecteur de robinet pour le débitmètre, que nous pouvons mieux imprimer nous-mêmes :

Connecteur de robinet de capteur de débit d'eau Raspberry Pi

Si vous utilisez un autre capteur de débit d’eau Raspberry Pi, faites attention à la description. Celui utilisé ici avait les informations suivantes :

  • Diamètre intérieur : 11 mm
  • Diamètre extérieur : 20 mm

Par conséquent, une pièce peut être facilement modifiée à l’aide d’outils tels que Tinkercad. Il en va de même pour les raccords de tuyaux : si vous souhaitez raccorder des tuyaux d’eau de différentes dimensions, vous pouvez les imprimer connecteurs toi même.

Lecture du capteur de débit d’eau Raspberry Pi via Python

Nous créons maintenant un nouveau script Python avec le contenu suivant :

sudo nano water_flow.py

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

#!/usr/bin/python

importer RPi.GPIO en tant que GPIO

heure d’importation, sys

#import paho.mqtt.publish comme publier

FLOW_SENSOR_GPIO = 13

#MQTT_SERVER = « 192.168.1.220 »

GPIO.setmode(GPIO.BCM)

GPIO.setup(FLOW_SENSOR_GPIO, GPIO.IN, pull_up_down = GPIO.PUD_UP)

nombre global

compte = 0

def countPulse(canal):

nombre global

si start_counter == 1 :

compte = compte+1

GPIO.add_event_detect(FLOW_SENSOR_GPIO, GPIO.FALLING, callback=countPulse)

tant que vrai :

essayer:

start_counter = 1

heure.sommeil(1)

start_counter = 0

débit = (comptage / 7,5) # Fréquence d’impulsion (Hz) = 7,5Q, Q est le débit en L/min.

print(« Le débit est : %3f litre/min » % (débit))

#publish.single(« /Garden.Pi/WaterFlow », flux, nom d’hôte=MQTT_SERVER)

compte = 0

heure.sommeil(5)

sauf KeyboardInterrupt :

print(‘ninterruption du clavier !’)

GPIO.cleanup()

sys.exit()

Enregistrez et quittez l’éditeur avec CTRL + O, CTRL + X.

Maintenant à expliquer le code:

  • Ligne 1-13 : Importations et définitions
  • Lignes 15-18 : Fonction appelée lorsque la tension appliquée au GPIO change
  • Ligne 20 : Définition de la fonction à appeler (de HIGH à LOW -> aussi FALLING)
  • Ligne 22 : Boucle infinie
  • Lignes 24-27 : Nous « activons » d’abord le compteur (start_counter = 1), puis nous attendons une seconde. Ensuite, nous désactivons à nouveau le compteur et calculons le débit par minute.
  • Facultatif (lignes 4, 7, 29) : Si nous voulons envoyer le résultat via MQTT.

Selon la fiche technique et la mise en œuvre, les valeurs par fréquence d’impulsion (Hz) de 7,5Q sont trouvés, Q indiquant le débit en litres/min. Cela signifie 7,5 Hz = 1 L/min. Cette valeur peut varier (dans la fiche technique liée, elle ressemble plus à 8-8,2 Hz) et doit être ajustée en conséquence.

Intégration dans la Smart Home (OpenHAB etc.)

Si vous arrosez vos lits, vous voulez absolument savoir combien d’eau a coulé au fil du temps. MQTT est très approprié pour cela, car nous pouvons communiquer via une interface. En utilisant l’exemple d’OpenHAB, c’est particulièrement facile, car beaucoup de choses sont déjà incluses.

Tout ce qui est nécessaire pour cela est un couche de persistance (base de données dans laquelle les valeurs sont stockées). Les valeurs peuvent ensuite être envoyées à un canal prédéfini via MQTT (informations sur ce ici). Les lignes correspondantes sont commentées dans l’exemple de code ci-dessus.

Last but not least, il serait conseillé de configurer le script Python pour qu’il démarre automatiquement afin qu’il envoie des données régulièrement.

pinit fg en rect red 28

  • SENSTREE Capteur de débit d'eau G1/2", capteur à effet Hall de qualité alimentaire, débitmètre compteur, compteur 1–30 l/min – Compatible Arduino, Raspberry Pi et filtre à osmose inverse
    Fonctionne avec Arduino, Raspberry Pi et filtre à osmose inverse. Petite taille, imperméable, facile à installer, résistance à la chaleur, résistance à la pression, résistance au froid. Matériau : qualité alimentaire, tous les matériaux sont conformes aux normes de test ROHS, peuvent être utilisés pour l'eau potable. Plage de débit : 1-30 l/min, plage de tension de fonctionnement : DC 5-18 V, permet la compression : pression de l'eau 1,75 Mpa en dessous. ☺Capteur à effet Hall. Type de connecteur de fil: SM2.54 3P Se connecte au filetage mâle G1/2" BSPT, si utilisé pour NPT, nécessite un ruban d'étanchéité fileté. Forme d'onde de sortie : onde carrée, signal d'impulsion de sortie. ☺ Large application : il est principalement utilisé dans le chauffe-eau, la machine à café, le purificateur d'eau, la fontaine à boissons, le matériel de carte à puce de campus, etc.
  • SWAWIS 2 Pièces G3/4 Capteur de Débit d'eau, Capteur de Débit D'eau 3/4'' Débitmètre, Capteur de Débit d'eau à Effet Hall Commutateur de Débit D'eau Débitmètre Eau, 1-30L/Min
    Haute qualité : capteur de débit d'eau G3 / 4" en cuivre de haute qualité, rotor de débit d'eau et capteur de débit d'eau à effet Hall. La roue interne a un arbre en acier inoxydable pour la robustesse et la stabilité des performances. Les matériaux bruts sont conformes aux normes ROHS. Capteur à effet Hall intégré : chaque rotation émet une impulsion électrique. Le capteur à effet Hall est scellé au tuyau d'eau afin de garantir que le capteur reste sûr et sec. Câblage : rouge pour le positif, noir pour le négatif, jaune pour le signal d'impulsion. Largement répandu : Débitmètre d'eau, démarrage à basse pression d'eau, étanche aux fuites, haute sensibilité, réponse rapide, performances robustes et stables, facile à installer et sûr à utiliser. Idéal pour les chauffe-eau, les fontaines à eau, les purificateurs d'eau, les distributeurs automatiques d'eau, les machines à café, les débitmètres, les appareils de contrôle de l'eau, etc. Attention : installez le commutateur de débit d'eau verticalement avec une inclinaison ne dépassant pas 5 degrés et une température moyenne ne dépassant pas 120°C. Il est strictement interdit de jeter, de heurter ou d'éroder le commutateur de débit d'eau avec des produits chimiques. Si vous avez la moindre question, n'hésitez pas à nous contacter par e-mail et nous vous fournirons un excellent service.
  • YF-B10 Capteur de Débit D'eau Débitmètre Hall 1 Pouce (1,3 Pouces) Fil Externe Cuivre Capteur de Débit D'eau Turbine Débitmètre
    Pour le contrôle du débit : lorsque l'eau passe à travers l'ensemble rotor de débit d'eau, le rotor magnétique tourne et la vitesse change avec le débit. Le capteur Hall émet le signal d'impulsion correspondant et le renvoie au contrôleur pour évaluer la taille du débit d'eau et l'ajuster. Fonctionnement stable : résistant aux températures élevées, permet un fonctionnement stable ainsi qu'un démarrage à basse pression. Large application : peut être utilisé pour le chauffe-eau, le distributeur de cartes de crédit, le distributeur d'eau, etc. Débitmètre d'eau : principalement composé d'un corps de vanne, d'un rotor de débit d'eau et d'un capteur à effet Hall. Facile à installer : conçu pour avoir un poids léger et une petite taille, très facile à ranger et à installer.