Bonsoir à tous,
je suis nouveau ici et je suis tombé sur ce fil après une recherche. Ce qui est décrit ici est exactement ce que je veux faire et du coup, je me suis lancé pour des tests.
Je dois d'abord résoudre un problème, surmontable, j'espère :
Mon compteur est à l'extérieur de la maison, enterré, l'alimentation en eau passant dans un fourreau. Distance compteur-maison environ 2,5 m. J'ai tenté de faire passer un câble rigide depuis l'intérieur de la maison, mais je bloque à environ 1m, donc, c'est pas encore gagné de ce côté là.
En attendant, je me suis procuré les éléments (investissement 8 euros avec CNY70, le trigger, quelques cables et consommables divers).
Je possède déjà plusieurs raspberry. Je fais des tests avec un rasp qui ne sert pas, au final, je monterai le circuit sur un autre qui fait déjà les relevé edf, températures, etc
J'ai adapté le schéma en ajoutant l'alimentation du CNY70 depuis le raspberry (ça fait juste 4 fils qui vont vers le CNY70 et pas besoin d'alim externe).
J'ai monté le circuit avec 10m de cable, histoire de coller au plus près au circuit décrit ici, je n'ai pas besoin d'autant de longueur mais au cas où
La bête :
Relié au raspberry :
Le CNY70 au bout de son cable (au passage, on voit la LED que j'ai monté sur un autre GPIO et que je déclenche dans le script python lors des essais):
Fonctionnel :
Pour simuler le compteur, j'ai collé un bout de papier alu sous le couvercle du boitier du rasp et le script python allume ou éteint la led en fonction du survol ou pas de ce papier alu. Je pense que l'épaisseur du boitier simule bien ce que je vais trouver sur le compteur.
Le script très très très simplifié que j'utilise pour les essais (basé sur celui de js-martin, débarrassé de tout ce qui encombre

):
Code : Tout sélectionner
#!/usr/bin/python
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO # bibliotheque pour utiliser les GPIO
import time
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Choix du GPIO
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# On mesure le compteur d'eau sur le GPIO 22 pin 15
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM) # mode de numérotation des pins
GPIO.setup(22,GPIO.IN) # GPIO 22 (pin 15) regle en entree
GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW)
def Loop4(channel):
GPIO.output(18, not GPIO.input(18))
GPIO.add_event_detect(22, GPIO.BOTH, callback=Loop4, bouncetime=100)
while True:
time.sleep(5)
A noter enfin que j'ai fais des essais sans utiliser de trigger, juste le CNY70 monté à l'arrache sur le rasp et j'ai pas vu de différence dans mes essais, ça marche aussi très bien, mais après, en situation, sur le long terme, je suis pas spécialiste, je ne sais pas si ça peut marcher aussi.
Le schéma du montage (pas fait proprement celui là):
Et le rasp en mode arrache, les résistances à l'air, bien dégueu
Réflexion :
la distance de déclenchement entre le CNY70 et le papier alu, ça se joue en mm, on verra en situation sur le compteur, mais l'alignement risque d'être coton, mais comme j'ai une vis au milieu de compteur, je pense que je vais pourvoir bricoler un bras de fixation qui ne bougera pas et bien aligné.
Concernant les valeurs des résistances, j'ai bêtement copié ici, je n'ai aucune idée si ça doit être changé, adapté. Je connais les grands principes (mettre une résistance pour une led par exemple), mais après, dans les détails, l'électronique, c'est pas vraiment (du tout) ma partie, alors tout commentaire/correction est le bienvenu.
Voilà mes explorations de la soirée, en attendant bonne nuit (et merci js-martin pour le topic).