Como usar o sensor de fluxo de água com framboesa?

8

Estou tentando usar esse sensor de fluxo de água com framboesa:

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

Estou usando esse código python para ler os pulsos:

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

Infelizmente, esse código não está funcionando corretamente e, como sou novo com framboesa, não sei como resolver o problema.

Gostaria de saber se é necessário usar outro componente na framboesa, como o MCP3008 ou outro.

Se possível, envie-me como conectar os cabos do sensor também é framboesa.

Thiago Scodeler
fonte
Você viu este post learn.adafruit.com/adafruit-keg-bot, que está vinculado a partir da página do produto ao qual você vinculou acima?
9788 Steve Rogillard

Respostas:

10

As saídas de pulso do hidrômetro são tipicamente dreno aberto.

Isso significa que eles são puxados para o solo para sinalizar um pulso e flutuar alto para uma tensão externa.

Como uma verificação rápida, altere as duas linhas a seguir.

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

para

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

e

GPIO.add_event_detect (FLOW_SENSOR, GPIO.RISING, retorno de chamada = countPulse)

para

GPIO.add_event_detect (FLOW_SENSOR, GPIO.FALLING , retorno de chamada = countPulse)

joan
fonte
11
Oi joan, o código está funcionando agora e os pulsos são contados. Obrigado!!
Thiago Scodeler