Comment utiliser le capteur de débit d'eau avec de la framboise?

8

J'essaie d'utiliser ce capteur de débit d'eau avec de la framboise:

https://www.adafruit.com/products/828

J'utilise ce code python pour lire les impulsions:

#!/usr/bin/env python

import RPi.GPIO as GPIO
import time, sys

FLOW_SENSOR = 23

GPIO.setmode(GPIO.BCM)
GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

global count
count = 0

def countPulse(channel):
   global count
   count = count+1
   print count

GPIO.add_event_detect(FLOW_SENSOR, GPIO.RISING, callback=countPulse)

while True:
    try:
        time.sleep(1)
    except KeyboardInterrupt:
        print '\ncaught keyboard interrupt!, bye'
        GPIO.cleanup()
        sys.exit()

Malheureusement, ce code ne fonctionne pas correctement et comme je suis nouveau avec la framboise, je ne sais pas comment résoudre le problème.

Je voudrais savoir s'il est nécessaire d'utiliser un autre composant en framboise, comme le MCP3008 ou un autre.

Si possible, envoyez-moi comment câbler les câbles du capteur est également framboise.

Thiago Scodeler
la source
Avez-vous vu cet article learn.adafruit.com/adafruit-keg-bot qui est lié à la page du produit que vous avez liée ci-dessus?
Steve Robillard

Réponses:

10

Les sorties d'impulsions du compteur d'eau sont généralement à drain ouvert.

Cela signifie qu'ils sont tirés à la terre pour signaler une impulsion et flotter à une tension externe.

Pour une vérification rapide, modifiez les deux lignes suivantes.

GPIO.setup (FLOW_SENSOR, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)

à

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

et

GPIO.add_event_detect (FLOW_SENSOR, GPIO.RISING, callback = countPulse)

à

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

joan
la source
1
Salut joan, le code fonctionne maintenant et les impulsions sont comptées. Merci!!
Thiago Scodeler