Fred récupère l’eau de pluie. Pour éviter le gel, sa cuve de 1600 litres est enterrée. Mais comment connaître facilement la hauteur d’eau dans la cuve ?
Du radar en passant par les ultrasons ou le potentiomètre actionné par un flotteur, une quantité impressionnante de dispositifs existent. Fred a choisi d’utiliser des capteurs de faible prix, en les disposant sur toute la hauteur de la cuve. Si vous avez une cafetière Senseo, regardez comment est détecté le niveau (1 tasse – 2 tasses…).
L’eau de récupération sert pour l’arrosage du jardin et pour la chasse d’eau des WC. Une dizaine de capteurs sont répartis sur toute la hauteur de la cuve. Ils se déclenchent successivement lors de la montée du niveau. Un programme en Python, fourni sur la page de cette réalisation permet un affichage en mode texte.
Les capteurs ferment (ou ouvrent en inversant le bloc mobile) un contact. Chaque contact est relié à un port GPIO du Raspberry Pi, muni d’une résistance de tirage reliée au 3,3 V. Un relai commandé par le port 23 figure sur le schéma mais n’est pas utilisé dans cette application.
Vous pourrez connaître tous les détails de cette belle réalisation, en particulier la méthode utilisée par Frédéric pour monter ses capteurs et les relier à la framboise314, en lisant la page qu’il consacre à sa réalisation.
La description très détaillée et très complète devrait permettre de reproduire ce système sans trop de soucis.
Lorsque tout est en place, il suffit à Frédéric de lancer son programme en Python pour connaître instantanément la hauteur d’eau dans sa cuve.
Bien entendu à partir des informations recueillies, rien n’empêche de prévoir un affichage graphique, ou d’étendre les fonctions du boîtier par ajout des programmes adéquats.
Conclusion
Merci à Frédéric pour sa belle réalisation et sa description que tout le monde peut réutiliser, ainsi que pour l’autorisation d’utiliser les images de son site sur framboise314.
Fred nous avait déjà régalé avec son robot Zumo que je vous avais présenté sur framboise314.fr début janvier en insistant sur la qualité des photos illustrant l’article…
Source
Ping : Une mesure de niveau d’eau avec un Raspbe...
Ping : Une mesure de niveau d’eau avec un Raspbe...
Ping : Une mesure de niveau d'eau avec un Raspberry Pi...
Bonjour,
Je ne suis surement pas dans le bon article mais je ne trouvais pas d’autrs endroits où poser la question… je cherche à mesurer plusieurs paramètres sur un prototype sur le long terme ( pendant plusieurs semaines au moins) ; éclairement , température….
Je possède déjà un luxmètre dont les mesures peuvent être extraites sur un ordinateur via un logiciel qui les mets sous forme de graphes ou de tableau . Je voulais savoir s’il était possible d’automatiser le tout grâce un raspberry pi ? Je précise mon idée ; il s’agirait que le luxmètre, branché en permanence sur le raspberry pi envoie les données sur le logiciel et qu’on puisse extraire du logiciel un fichier excel par exemple. Ceci est faisable « manuellement » grace à l’interface du logiciel, mais est-ce possible de programmer le raspberry pi pour qu’il le fasse tout seul?
Sinon il y a-t-il un autre système qui le permettrait? (carte arduino, pcduino…?)
Merci =)
Bonjour Marie,
Avez vous avancé sur votre projet ?
Cordialement,
José
Bonjour,
Je suis actuellement en stage et le sujet de mon stage est de créer un programme similaire au votre qui doit envoyer un sms d’alerte grâce à un module GSM Cinterion MC52i. Le sms d’alerte est envoyé lorsque un capteur de contact du même type que celui utilisé ici détecte une fuite (un niveau d’eau) dans un puit apellé puisard. Il y a 8 puisards.
Voici mon programme:
import RPi.GPIO as GPIO
import serial
import time
# ——[ Cablage des infos puisards sur GPIO]———–
Puisard = [4, 7, 8, 9, 10, 11, 14, 15];
# ———-[ Initialisation entree GPIO ]—————
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
for i in range(0,8):
GPIO.setup(Puisard[i], GPIO.IN)
# ——[ Configuration port USB en sortie ]————
ser = serial.Serial(
port=’/dev/ttyUSB0′,
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
ser.open()
ser.isOpen()
# ———————[ Main ]————————–
for i in range(0,8):
if (i==0):
p = « 1 »
elif (i==1):
p = « 2 »
elif (i==2):
p = « 3 »
elif (i==3):
p = « 4 »
elif (i==4):
p = « 5 »
elif (i==5):
p = « 6 »
elif (i==6):
p = « 7 »
elif (i==7):
p = « 8 »
if GPIO.input(Puisard[i])==True:
ser.close()
else:
ser.write(‘AT+CPIN=0000\r’)
time.sleep(5)
ser.write(‘AT+CMGF=1\r’)
time.sleep(5)
ser.write(‘AT+CMGS=+33630402731\r’)
time.sleep(5)
ser.write(‘Alerte puisard numero %s niveau bas\x1A’%p)
time.sleep(5)
ser.close()
exit
Le problème que je rencontre est que lorsque je lance le programme, le sms d’alerte m’indique systématiquement la dernière valeur de « p » pour i==7. Même lorsque je simule un courant sur le pin 9 du GPIO par exemple (ce qui devrait m’indiquer la valeur de puisard n°4 normalement).
J’èspère que vous pourrez m’aider à résoudre ce problème, en vous remerçiant d’avance.
Je me baser sur ce ce projet afin de détecter la montée des eaux de pluie dans un puisard que j’ai dans mes caves. J’attends le matériel puis je me lance… 🙂
Je souhaiterais ajouter des LEDS sur la carte prototype et quel celle-ci soit allumée lorsque le flotteur est actionné. Un petit support visuel en plus des fonctionnalités à développé en python.
Ma question concerne la résistance à utiliser. 10K me semble trop élevé? La LED ne va pas réagir ou je me trompe?
Bonjour Bruno
effectivement avec 10K la LED va avoir du mal à briller….
Après ça dépend de la LED, de sa couleur et du courant qu’elle demande…
voyez déjà http://fantaisyland.fr/cms_resistance.php
cordialement
François
Lorsque l’eau arrive au niveau d’un flotteur, je peux recevoir l’information au niveau de la raspberry via le port GPIO et que la led s’allume sur la carte prototype.
Dans le schéma de fred-j, je pourrais donc remplacer les résistances de 10K par des résistances mieux adaptées aux LEDs et le GPIO du raspberry continuera a bien fonctionner avec les informations reçues des flotteurs? Je ne voudrais pas griller la raspberry.
non ça ne grillera pas, les 10K sont des résistances de tirage qui fixent le potentiel de l’entrée du RasPi
Si vous remplacez la 10K par une LED + une résistance en limitant le courant à une dizaine de mA la LED s’allumera quand le contact sera actif.
Le contact met l’entrée à la masse donc le RasPi détecte bien un zéro…
Pour ma part je protègerai la patte du RasPi par une résistance car en cas d’erreur de programmation, si la patte du RasPi est configurée en sortie, elle pourrait être mise à la masse par le contact et là…. pfffft !
Eau secours ! 🙂
Bonsoir,
J’ai besoin de vos lumières : Je suis, en effet un peut nul en électronique, mais fan de domotique et ce montage m’intéresse car je voudrait mesurer le niveau d’eau de mon puits.
Il n’est pas très profond, d’où mon besoin de le contrôler car j’utilise l’eau de ce puits pour toute la maison et le jardin.
Donc, en tant que boécien, j’ai un peu plein de questions qui paraitrons bêtes mais qui pour moi veulent dire beaucoup :
1/ Sur le schéma du circuit électronique, toute la partie basse, en dessous du fil de terre (GND) lié au GPIO 23 peut être supprimée, étant donné que le relais n’a pas d’intérêt pour moi ?
2/ Sur le même schéma, il est indiqué 11 résistances reliés aux capteurs. C’est marrant mais je ne les voient pas (ou en tout cas pas autant) sur les photos de la carte prototype au dessus de la carte Raspberry Pi ?
3/ En parlant de ces résistances, quand je recherche sur le Net, j’ai aussi des indications du type
Résistance à couche carbone 10 Ohm sortie axiale 0411 0.5 W ou Résistance à couche métallique 10 Ohm sortie axiale 0414 1 W
Il faut quoi en fait ?
4/ Je voit une alimentation 3,3V, elle vient de la carte Raspberry ou non ? Idem pour la terre ?
5/ Enfin, si tout se passe bien, on arrive à l’interface. Je vois un script python exécuté au travers d’une session Telnet si je ne me trompe ? Y a il un autre moyen de lancer le script pour obtenir le résultat via html ou canal IP ou autre ?
En final, n’y a il personne pour me proposer la réalisation de ce « kit », sachant que je pourrais sans soucis m’occuper des capteurs, tube pvc et reste du montage ? 😉
En tout cas, merci de m’aider.
Nanou
Bonjour Nanou
1) oui vous pouvez supprimer si vous n’avez pas besoin du relais
2) il y a autant de resistances que de capteurs
3) attention ce sont des 10Kohms = 10 000 ohms pas des 10 ohms! le modèle 0,5w est suffisant
4) oui ça vient du RasPi idem pour la masse (Ov) ce n’est pas la terre mais la masse
5) là on est en mode texte, si vous voulez un affichage en html, il faudra mettre un peu les mains dans la programmation 😉
Cordialement
François
Bonsoir,
Un béotien de plus qui s’interroge jusqu’à la connexion des résistances sur cette carte proto.
Si jamais Nanou vous avez terminé et que vous auriez une petite photo gros plan, j’en serai ravis.
Merci pour ce superbe tuto,
Christophe
Bonjour,
Super article. Je vais me lancer pour gérer ma cuve de récupération d’eau (~3000l). J’utiliserai ensuite les infos qui me sont retournés pour activer une électrovanne pour alimenter la cuve en eau si le niveau baisse de trop (cuve enterrée). J’ai déjà une raspberry qui gère mon arrosage automatique (juste un relai qui active/désactive une pompe à des heures définies). Je vais y ajouter la détection de niveau et l’électrovanne.
Bon, j’espère y arriver tout seul comme un grand, mais je pense que je reviendrai poster quelques commentaires durant la phase de montage 🙂 En tout cas merci pour l’article !
merci beaucoup !
si vous le souhaitez vous pouvez aussi faire une description de votre réalisation avec photos…
Vous pouvez la poster dans le forum au chapitre tutoriels
ou sur le blog framboise314….
éventuellement je peux rédiger l’article à partir de vos infos/notes/images/captures d’écran
en tout cas merci pour le retour !
cordialement
François
Oui pourquoi pas ! C’est aussi bien de capitaliser les connaissances pour que d’autres puissent les réutiliser. Votre système de niveau d’eau est super. J’ai commandé sur ebay les capteurs. Les résistances je les ai déjà, et j’ai des plaques de prototypage. Donc j’ai quasiment tout hormis la baguette alu et le tube PVC. Mais ça je vais les trouver sans problème.
Pour le moment mon programmateur d’arrosage fonctionne avec une raspberry + un relai + un programme python (on/off par cron) qui active une pompe immergée sur laquelle sont raccordées les tuyau goutte à goutte. Bon pour moins cher en achetant un simple programmateur de prise, j’aurai pu le faire aussi. Mais je n’aurai pas pu le contrôler à distance en wifi, et je n’aurai pas pu ajouter des systèmes comme la gestion du niveau d’eau de la cuve.
A terme ce système va contrôler bien plus de choses dans mon jardin (arrosage fin en mesurant l’humidité, la température, les besoins de la plante etc.) 😉
bref. Voilà, je m’emballe. a+
Hello,
Ça y est, les capteurs sont arrivés. Je vais faire un test avec un capteur déjà pour préparer le code, et ensuite je prépare la barre complète.
Il faudra ensuite que j’interface tout ça avec mon système existant 😉
Bonjour
super! bon courage pour tout ça 😉
Bonjour,
Voilà. le système est entièrement terminé et mis en place. Je vais faire une page wiki pour les photos, la réalisation et le code. Pour ce dernier je suis parti du code de Fred (python) que j’ai modifié pour renvoyer une chaine json au travers d’un serveur nodejs qui affiche graphiquement l’état de la cuve sur une page.
Sur le système j’avais déjà 2 relais branchés et qui sont toujours fonctionnels pour mon système d’arrosage automatique.
Voilà. Si vous êtes d’accord je vais posté sur le wiki les liens vers votre article et celui de Fred.
Bonne journée 🙂
Bonjour
Super merci !
Il faudra me donner le lien je l’ajouterai bien volontiers
cordialement
François
Bonjour,
J’ai mis un peu de temps à rédiger, mais voilà le lien de mon petit projet. J’ai tout mis sur github:
https://github.com/zerr0s/sprayBot/wiki/sprayBot:-Gestion-d'arrosage-automatique#welcome-to-the-spraybot-wiki
Il me reste encore la partie code à ajouter dans le wiki, mais il est déjà accessible sur github. Ça va venir. Après rien ne vous empêche si vous le voulez de récupérer les infos et l’ajouter sur votre site.
A venir:
– Déclenchement d’une alerte si le niveau de la cuve descend à moins de x%
– Déclenchement d’une électrovanne pour remplir la cuve automatiquement si le niveau est inférieure à x%
– Ajout d’un capteur de pluie pour ne pas arroser alors qu’il pleut
– Ajout sur l’IHM de la programmation des arrosages
En tout cas, merci pour cet article qui m’a ouvert pas mal de possibilité.
bonjour
merci pour le lien
je suis en vacances actuellement
je verrai à la rentrée (vers le 8 sept)
cordialement
François
bonjour
je suis entrain de faire un programme pour ouvrir et fermer mes volet et allumer ma lumière ou l’éteindre par contre je rencontre un problème au niveau du retour d’info je lance ma commande par mon téléphone mais je ne sais pas concrètement si j’ai bien allume ou pas la lumière et cela je voudrai le faire en retour par info sur mon tel ou par ma connexion au rasberry a distance
merci d’avance de votre aide
Bonjour
il faudrait relire le port, ce qui indique qu il a basculé
pour etre certain de l allumage de la lumière c est une autre histoire (détecteur de lumière, mesure du courant dans la lampe…)
surveillez les articles futurs de framboise314, une gestion de poulailler par RasPi pourrait vous apporter des réponses 😉
cordialement
François
Ping : Mesure volume d'eau de pluie | Pearltrees
Bonjour
Je vais réaliser ce système mais des questions m’interpelle?
Le Rasberry est sans OS, donc il faut lui mettre sur la carte SD, mais lequel?
Puis ou et comment pet t’on le programme Python?
je suis novice en rasberry, cela va etre ma premiere realisation.
Cordialement
Daniel
Bonjour
Comme tout ordinateur le Raspberry Pi est livré sans système…
Je sais… sur ceux qu’on achète chez Darty ou CDiscount il y a windows préinstallé mais c’est de la vente forcée 🙂
Il faut donc une carte SD qui embarquera le système. Prenez une carte SD de bonne qualité (EVO 16 par exemple)
Le programme le plus courant est Raspbian qui est celui recommandé par la Fondation Raspberry Pi
Il embarque d’ailleurs le langage Python d’origine
Pour le programme Python qui servira à faire fonctionner votre système il sera dans le dossier personnel de l’utilisateur pi
Apparemment vous êtes novice … pas seulement en Raspberry Pi mais aussi en système et en programmation? je me trompe ?
Pour démarrer je peux vous conseiller mon bouquin (oui, je sais c’est de la pub) et aussi de regarder cette vidéo où il y a un conseil pour les débutants (à 2mn 58sec)
Prenez le temps de comprendre et d’apprendre avant de vous lancer dans un projet d’envergure. Le Raspberry Pi est parfait pour ça.
Bon amusement avec la framboise, n’hésitez pas si vous avez des questions, posez les sur le blog ou mieux sur le forum
Bonnes fêtes de fin d’année
Cordialement
François
Bonjour,
Une question simple comment avez vous rendu étanche les jonctions de câble car les gaines thermo ne rendent pas étanche. Pas de problème de court circuit via l’eau de la cuve ?
Merci par avance
Bonjour,
le lien vers le site de « fred » n’est plus bon. Le bon lien est maintenant : https://www.fred-j.org/?p=364
Merci 🙂
Bonjour
Je comprend pas pourquoi il faut mettre une resistance de 10 kilo ohms
Bonjour
c’est une résistance de tirage qui amène le 3v3 sur les capteurs. Le capteur met le fil à la masse. Cette résistance empêche aussi qu’il y ait trop de parasites sur les lignes en maintenant une tension de 3v3 sur les fils. (un fil en l’air c’est une antenne…)
Bonjour,
désolé pour le déterrage de post. Mais la question serait plutôt est-ce que ces résistances sont nécessaires ou juste « nice to have » ?
Merci
Bonjour
eh non, il faut les mettre ! elles servent à maintenir un niveau haut (3,3v) sur le fil.
En raison de la longueur des fils, ils se comportent comme des antennes et « ramassent » tous les parasites qui traînent (moteurs électriques qui démarrent, néons etc.)
ces résistances de pull-up empêchent les parasites de fausser les informations reçues par les GPIO.
jetez un coup d’œil ici https://forum.arduino.cc/index.php?topic=78406.0
cdt
françois
merci pour ces précisions 🙂
Bonjour, je cherche la reference du relais qu’il faut mettre ?
Bonjour,
Peut-on éviter d’utiliser des capteurs?
En mettant uniquement 2 fils ouverts, quand l’eau est en contact avec les 2 fils, cela a t il le même comportement?
bonjour
on peut… mais ça va s’oxyder et ça ne dure pas longtemps 🙂
Merci pour votre réponse.