Wie benutzt man den Wasserdurchflusssensor mit Himbeere?

8

Ich versuche, diesen Wasserdurchflusssensor mit Himbeere zu verwenden:

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

Ich benutze diesen Python-Code, um die Impulse zu lesen:

#!/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()

Leider funktioniert dieser Code nicht richtig und da ich neu bei Himbeeren bin, weiß ich nicht, wie ich das Problem lösen soll.

Ich würde gerne wissen, ob es notwendig ist, eine andere Komponente in Himbeere zu verwenden, wie MCP3008 oder eine andere.

Wenn möglich, senden Sie mir, wie die Sensorkabel zu verdrahten sind, auch Himbeere.

Thiago Scodeler
quelle
Haben Sie diesen Beitrag learn.adafruit.com/adafruit-keg-bot gesehen, der von der Produktseite verlinkt ist, auf die Sie oben verlinkt haben?
Steve Robillard

Antworten:

10

Die Impulsausgänge des Wasserzählers sind typischerweise offene Abflüsse.

Dies bedeutet, dass sie gegen Masse gezogen werden, um einen Impuls zu signalisieren und auf eine externe Spannung hoch zu schweben.

Ändern Sie zur schnellen Überprüfung die folgenden zwei Zeilen.

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

zu

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

und

GPIO.add_event_detect (FLOW_SENSOR, GPIO.RISING, Rückruf = countPulse)

zu

GPIO.add_event_detect (FLOW_SENSOR, GPIO.FALLING , Rückruf = countPulse)

joan
quelle
1
Hallo Joan, der Code funktioniert jetzt und die Impulse wurden gezählt. Vielen Dank!!
Thiago Scodeler